Githtml - View Html Files from Github Repos On The Fly - <AUTHOR> https://github.com/ryt/githtml

<comment><USER2> Shouldn't it be called Githubhtml?

I mean, it has virtually nothing to do with git.

</comment><comment><USER3> This has a really big security flaw, if the creator wanted to be mischievous he could change his js file to do things to your logged in github account, for example set your privet repositories public.

If you want to use it you should fork it and change to bookmarklet to use your fork of the js file.

<comment><USER4> Though I'd never do such a thing, your point is completely valid.

<comment><USER3> And I would always lean to the side of trust in people, I wouldn't expect you or most people here to abuse it.

Its a little bit of a pet hate, the suggested linking to JavaScript files in another persons repository. The worst was the HTML5 Shim, for a long time they suggested linking directly to their svn repo, fortunately they don't now. It was about the same time people started thinking about using the google cdn for javascript libraries and so people just did it thinking they were helping their page load times when in fact they were compromising the security of their users and themselves.

<comment><USER3> Just thinking about this, what's needed is some kind of trusted public cdn that you can send files to but cannot change so that library writers can point towards a cdn hosted version of the library without running one themselves and removing security vulnerability.

<comment><USER5> Or a hash attribute to file and script tags. Of course, either case would mean redment wouldn't be able to update it.

</comment></comment></comment></comment></comment><comment><USER6> A few months back I created a bookmarklet to render the html when looking at the raw html page -- <https://gist.github.com/1831405>

I've ended up using this bookmarklet on a lot of non-github.com sites too.

For instance, you can see how it renders <http://c.sente.cc/hcVg/xkcd.txt> here: <http://i.imgur.com/DNVqd.png>

here's the code in snippet form:

      javascript:function write_window(content) {top.consoleRef=window.open(%27%27,%27git-r-done%27,+%27,menubar=1%27+%27,toolbar=1%27+%27,status=1%27+%27,scrollbars=1%27+%27,resizable=1%27);top.consoleRef.document.writeln(content);top.consoleRef.document.close();}function dostuff() {$.ajax({url: document.location.href,dataType:%27html%27,success: function(content){setTimeout(function(){write_window(content)},500);}});}function add_jquery(attempt) {var jq=document.createElement(%27script%27);jq.type=%27text/javascript%27;jq.async=false;jq.src=%27https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js%27;var s=document.getElementsByTagName(%27script%27)[0];s.parentNode.insertBefore(jq,s);try{var foo=$(%27*%27);dostuff();}catch(err){if(attempt < 5){attempt = attempt + 1;setTimeout("add_jquery("+attempt+")",1000)}else{alert(%27could not load jquery..try again!%27);}}}add_jquery(0);

</comment><comment><USER7> This seems like a lot of code... Here's what I use:

        javascript:void(document.body.innerHTML = document.getElementsByTagName("pre")[0].innerHTML.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/ /g," "));

(Note: I've only tested this on Chrome.)

<comment><USER4> Most of the code is for mapping css and js files to the relative raw pages.

Try your code on this page: [https://raw.github.com/mrdoob/three.js/46c0a8434d3f269741a88...](https://raw.github.com/mrdoob/three.js/46c0a8434d3f269741a887f484cc555c3d3f29c7/examples/canvas_interactive_cubes_tween.html)

And compare it with githtml on the /blob/ version of the same page: [https://github.com/mrdoob/three.js/blob/master/examples/canv...](https://github.com/mrdoob/three.js/blob/master/examples/canvas_interactive_cubes_tween.html)

<comment><USER7> CSS works fine. (Try this one: [https://raw.github.com/twitter/bootstrap/master/docs/index.h...](https://raw.github.com/twitter/bootstrap/master/docs/index.html))

I suspect that JS that didn't depend on the page-load to trigger it would work too. I had never considered looking at JS-enabled pages though. When I wrote my bookmarklet, I just needed to view static documentation.

Edit: I found a page with only on-click JS events, and they didn't work. Oh well...

<comment><USER4> Fixed now.

</comment></comment></comment></comment><comment><USER8> This is great!,

There has ben more than a few times that I've wished to be able to do this while browsing trough random github repos, kudos to the developer, this looks very handy!

</comment><comment><USER9> This would be awesome as a webapp. I have to demo pages to non technical people, so the bookmarklet/snippet is a non-starter.

<comment><USER10> I have been working on this and I decided to finish / publish it today.

Here it is : <http://news.ycombinator.com/item?id=4200790> <https://github.com/jbourassa/mirrorin>

</comment></comment><comment><USER11> Pretty cool. Can't wait until someone converts this to an extension.

<comment><USER4> I'm working on that right now. Both for Chrome and FF.

<comment><USER11> Cool. How do you plan on releasing it? Through the repo?

</comment></comment></comment><comment><USER12> the rendered pages are not very accurate, they seem deformed.

<comment><USER4> Edit: I'm working on a fix for this. I see the bootstrap page is deformed.

</comment></comment><comment><USER13> Nifty!</comment>


Hello, strace (an introduction to strace) - <AUTHOR> http://chriscontinanza.com/2010/09/19/Hello-strace.html

<comment><USER2> Neat trick from the article:

        strace irb</comment>


Spoof – Shocking interview with AMD about the Crimson drivers [video] - <AUTHOR> https://www.youtube.com/watch?v=ruCr6OXbK5E <comment><AUTHOR> AMD released a "Hot-Fix" to fix the GPU overheating issues with the latest Crimson drivers.

[http://www.anandtech.com/show/9823/amd-releasing-new- crimson...](http://www.anandtech.com/show/9823/amd-releasing-new-crimson- drivers-for-gpu-fan-issue)

</comment><comment><USER2> That was hilarious! Thank you!

</comment><comment><USER3> Who the heck is that guy?</comment>


Nvidia announces handheld gaming system with 5-inch multitouch display - <AUTHOR> http://www.theverge.com/2013/1/7/3845282/nvidia-announces-project-shield-handheld-gaming-system

<comment><USER2> I'm not sure it kills the Ouya... my main reason for getting an Ouya is that it's really small and I can probably use it to stream stuff from my desktop to TV easily. Not because I'm expecting crazy gaming power or touch screens. I'm sure other people have similar hobbyist interests in it.

<comment><AUTHOR> you can do the all of that and more with Nvidia and it's pure android. You can stream your games from Steam on the device</comment></comment>


Vedis – An Embeddable Implementation of Redis - <AUTHOR> https://github.com/symisc/vedis

<comment><USER2> [http://vedis.symisc.net/licensing.html](http://vedis.symisc.net/licensing.html)

        Redistributions in any form must be accompanied by information on
        how to obtain complete source code for the Vedis engine and any
        accompanying software that uses the Vedis engine software.

        ...

        The commercial license permits closed-source distribution of an
        application to third parties. If you do not want to release the
        source code for your application, you may purchase a license from
        Symisc Systems.

Ho hum.

Great project though, looks cool.

</comment><comment><USER3> It seems that multiple files are merged into single vedis.c file. It's good for embedding into application, sqlite does the same, but I think it's better to open original source code and a Makefile to generate embeddable source code, at least if they want to get contributions from community.

</comment><comment><USER4> I understand why you want to trade in on the Redis name and brand, but this is NOT an "Implementation of Redis" in any way as far as I can tell. This is a facsimile of a subset of the commands available in redis.

</comment><comment><USER5> Wouldn't you just store your values as an array?

The point of redis is having external, shared memory.

<comment><USER6> _Vedis is a standard key /value store similar to Berkeley DB, Tokyo Cabinet, LevelDB, etc. but with a rich feature set including support for transactions (ACID), concurrent reader, etc._

</comment></comment><comment><USER7> Can multiple processes access the same database? Or is the model similar to sqlite?

<comment><USER2> Similar to sqlite it looks like, it returns VEDIS_BUSY if concurrent write operations are attempted for various calls.

<comment><USER8> well that's one way to get ACID compliance...

</comment></comment></comment><comment><USER9> Random idea: this could probably be embedded quite easily into the Erlang VM. You'd then be able to spawn() "a Vedis keyspace" as easily (and scalably) as you can currently spawn an ETS table. Might be useful in place of both Mnesia and network-connected Redis.</comment>


Show HN: NewsBot – An ML-powered Chrome extension for instant related news - <AUTHOR> https://chrome.google.com/webstore/detail/newsbot/gahbhdbjjomehdmbjielhoflcmnecief

<comment><USER2> Cool idea and execution!

Where are you getting the raw article data? Are you doing your own scraping or is it from a 3rd party provider?

The couple of tests I did worked nicely, but it did give me stories that were a few months old, could we have a "don't show me anything older than 24 hours" option?

And finally...any description of what the ML is actually _doing_ \- don't want source code or anything, just interested.

<comment><AUTHOR> Thanks for your feedback!

We monitor a pre-defined list of RSS feeds and then send the articles to a document parser that we've created. We're actually thinking of releasing the document parser as an API if there's interest.

A time feature is definitely something we want to add and your suggestion is a cool solution.

In terms of the ML my co-founder Ben wrote a non-technical blog post about our approach: [https://blog.lateral.io/2015/06/how-do-machines-learn- meanin...](https://blog.lateral.io/2015/06/how-do-machines-learn-meaning/)

</comment></comment><comment><USER3> Does ML here mean machine leaning? Machine language? Meta language?

<comment><AUTHOR> Yeah sorry if that was unclear, in this case ML refers to machine learning.</comment></comment>


Chewsy 4.0 for iOS adds thousands of dish reviews by critics in your city - <AUTHOR> http://blog.chewsy.com/chewsy-40-chewsy-adds-dish-reviews-by-food-cr

<comment><AUTHOR> Hi, I'm one of the co-founders of Chewsy. We just launched this major update to our iOS app today which adds thousands and thousands of recommendations by critics (essentially identifying and geocoding individual dish recommendations). I welcome any feedback you all may have.

You can download the app directly here: <http://itunes.apple.com/us/app/chewsy/id405437588?mt=8>

</comment><comment><USER2> Freaking awesome app, love the update!

<comment><AUTHOR> Thanks, appreciate the kind words!</comment></comment>


Ask HN: Credit card payment within site - <AUTHOR>

We're running a web social network.
Right now our customers are directed to pay using Credit Card or Paypal on Paypals site, and redirected back after.
We'd like to keep customer on our site for credit card payments to increase completion rate.
How can we accept credit card payment directly within our site ?
1) Is Website Payments Pro (or alternative) easy to integrate with? 2) Does it allow recurring subscription as well?
3) Can you remember credit card and then able to auto-bill people as part of a "top up" function?
Appreciate any advice.. <comment><USER2> I would like to know the answer to this too. I think WPP does allow recurring payments and CC data storage. I hear services like Chargify (<http://chargify.com>) are very useful to get up and running quickly (if you already have a merchant account).

Here's my list of bookmarks from earlier discussions on the subject on HN:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[http://blog.meatinthesky.com/introduction-to-online- payments...](http://blog.meatinthesky.com/introduction-to-online-payments- tldr-its-a-to)

EDIT: If you are based in the US, you have a lot of options to choose from. I'm in the UK, for which I find it slightly more difficult to find information.

<comment><AUTHOR> Thanks, I have some reading to do :)

The company is based in HK, so have to filer out the non US company options..

Cheers

</comment></comment><comment><USER3> These threads always seem to need the following debunking: The PCI compliance requirements are not reduced just because your servers don't _store_ CC numbers. If they even _see_ the numbers, the requirements are essentially the same. To avoid PCI hassles while maintaining control over the UI, you need to use something like Braintree's "transparent redirect".

</comment><comment><USER4> I am almost done implementing cc payments on a small app I'm doing, and it was my first time.

Advice: First, read revorad's list. I basically found as many HN posts as I could on the topic. They didn't help me come to a decision at all, but they gave me some background information on the topic. They weren't helpful for making a decision because for the most part it seems like a lot of people just said "I did X and I'm happy with the solution".

There seems to be a lot of pricing misinformation on the topic. The threads contain a good deal of "Braintree is the best and works with customers" AND "Braintree is expensive and hard to work with".

My experience: I went with Authorize.net. It was easy to set up my account and I had my account in 4 hours after an online application process. I found shopping for the best pricing difficult because I really don't have a good handle on how much (if any) business I'll be doing and the pricing structure's seem to lack transparency. I got really close to spending 2 days researching and I'd rather just take the easy solution now and work on the app.

I think its easy to get mired in "finding the ideal solution" especially at this juncture, but its more important to find a good enough solution that lets you move on.

<comment><USER2> Wow, 4 hours sure sounds fast! Do you know if I can use Authorize.net as a UK company (with a UK bank account)?

</comment></comment><comment><USER5> You will need to be PCI compliant This can be done very cheaply if you know what your doing and do some sys admin yourself. The tools to complete this involve a PCI scan and SAQ wizard : <http://www.pcicompliance.org.uk/>

This site offers both for 198 GBP which is a bargin.

The next thing is you NEVER store the card details on your sever, instead your (merchant account) payment gateway provider will issue you a tokenID or sometimes you tell them the token ID that is used for recurring billing etc. and that way you only have to verify the card details once, typically a charge of £1 or something small then you get the token id store that in your DB and use it for all transactions, that way you never store card numbers and all is posted only once across ssl.

Depending upon the features you have on your site you may find it difficult to get a merchant account and payment gateway provider to accept you.

For example if you have any live chat features or webcams that would raise a flag and place you into a very high risk and potentially impossible place to get an account.

for more advice contact <http://www.merchant-advise.co.uk/>

best steve

</comment><comment><USER6> We use Website Payments Pro on our site (shameless plug - <http://www.littleheroes.com>). I cannot say enough about how great their API is. I have Python code if you'd like, but it's really just straightforward POST. You can do subscriptions and one-time payments, as well as doing pre- auths.

And it's great because customers don't leave your site. You can withdraw the money from your PayPal account to your bank account anytime for free, so long that the amount is > $150. Otherwise they charge a small amount (can't remember, $5 maybe?). PayPal's fees are much better than many merchant account providers I've found. We pay $30/month for the account and then 2.9% + $0.25 for each transaction (so for a $100 transaction PayPal takes $3.15).

Plus they allow you to export your entire transaction history to CSV so you can load it into your own accounting system.

Strongly recommend PayPal to anyone who (A) can program and (B) wants to keep customers on their site.

As for PCI compliance and all that, why would you ever want to open up that bag of hurt and store people's credit cards? Let PayPal do what it's good at and stick to what you're good at.

<comment><USER7> Just don't ever try to call them for support. It is awful. Simply awful.

<comment><USER8> If you do enough volume, they assign you a dedicated support rep.

</comment></comment></comment><comment><USER9> I can only offer my experiences: If you have a merchant account it is relatively easy to sign up with a processing gateway and process transactions. The ones I've worked with had clients we installed on our servers, but I believe they were just wrappers for encrypted web services. The whole process is complicated by two things: regulations about user information (particularly credit cards), and international credit cards.

Storing credit card numbers - some countries have regulations around online transactions. Simply not storing the numbers (or only the last 4 digits, for auditing) was fine for us (Australia FYI). I think the alternative was a number of encryption schemes. We also had to do an expensive audit of our network/website security (because of our revenue? I can't remember).

International customers/cards - take this with a grain of salt (we were mostly targeting domestic users), but I believe this depended on your gateway and bank. I suspect it's because of the difficulty of identifying fraudulent transactions - it's much simpler if the pool is a single country.

</comment><comment><USER10> There was a good talk by the Adafruit folks at HOPE this weekend. They mentioned using Authorize.net and not storing the cc numbers on their own site. I don't know if the video has been posted yet, but check www.hope.net. It covered all sorts of aspects of running their ecommerce site/marketing. I think it was called "running an open source hardware company".

</comment><comment><USER11> My understanding is that you can use Wufoo and PayPal Pro to keep users on your site AND not worry about PCI compliance. Seems too good to be true. Am I misunderstanding this page?

[http://wufoo.com/2009/10/08/say-hello-to-paypal-payments- pro...](http://wufoo.com/2009/10/08/say-hello-to-paypal-payments-pro-and-usa- epay/)</comment>


Net startups slow their metabolism - <AUTHOR> http://www.nytimes.com/2008/10/27/technology/companies/27dotbomb.html?ref=business

<comment><USER3> "Though it has paltry revenues and just 20,000 registered users, the company pays only $8,000 a month to rent its offices in San Francisco and has received $8 million from investors."

$8 million? And all they can get is 20,000 registered users??? You've got to be kidding me.

"The company raised $35 million three years ago and, thanks to financial prudence, has $20 million in the bank."

$5 million burn rate a year for failed company is prudence?

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

All reading this sort of coverage does is make me feel that anyone wanting part of our company will have to pay through the nose for it.

</comment><comment><USER4> I see what's happening here. Many companies don't deserve investment. Investment is for companies that need money to get started or to grow - <USER2> companies in the mechanical, electronics industry or web companies that are growing too fast (like YouTube).

For many Web 2.0 companies, taking outside money is not something that is good for business. Outside money brings in problems and gives you too much space to fail, since there is this money cushion underneath you. It makes the companies get used to spending money at the stage when most other companies learned about financial prudence.

Investors don't care about this, however. They care about getting a return on their investment. So if they feel the hype will be enough to get someone to buy it out, or for the stock price to shoot up on an IPO, they will invest in companies that should not be invested in. They gamble there.

But right now, those gamblers see something different - the gambles are not going to pay off because the hype is dying down.

If your company does not offer true value, then you should not take money. You should fight in the market till you have a product that offers real value, and only when external money is needed should you take on capital.

</comment><comment><USER5> _the same factors that have made it so easy to create Web 2.0-style start-ups - low fixed costs, access to inexpensive overseas programmers and cheap ways to advertise online_

Is outsourcing really a significant factor here? I can't imagine any YC-style startups using it.

</comment><comment><USER6> The Seesmic picture is just awful. Giant Loic LeMeur head surrounded by smiling, supine employees. It just screams "we just got fucked by the alpha male."</comment>


What's new in Git 2.1 - <AUTHOR> http://blogs.atlassian.com/2014/08/whats-new-git-2-1/

<comment><USER2> When will submodules' horrible UI finally be fixed?

Manually running "git submodule update" after every single command is terrible.

Having the submodule in a modified state with "new commits", with no differentiation about whether what changed is the HEAD of the submodule or the parent ptr is also horrible. Did you forget to commit the submodule change? Or did you forget to "git submodule update"? Who knows??

Git clone of a repo that has submodules shows a clean status! It _should_ say: "missing submodules" or ideally, do a "git submodule update --init" by default, but instead you're left wondering why build doesn't work.

<comment><USER3> Easy solution: just don't use submodules.

<comment><USER2> Great, and now how do you reasonably share a dependency between multiple repositories while correctly tracking the exact version of that dependency at each point in history?

<comment><USER3> Use the dependency tool your language provides. Node for example lets you specify an exact commit, I'm sure most others do as well.

<comment><USER4> Not that simple, sometimes you want to change a dependency and test the change without pushing the commit.

<comment><USER3> Why can't you do that with the language package manager? In Node you simply change the version number, run npm install, test the changes, either commit or don't.

</comment></comment></comment></comment></comment></comment><comment><USER5> Very nice. I find Atlassian's information and tutorials on Git to be very well written and approachable. When I first moved from SVN to Git their Workflows guide ([https://www.atlassian.com/git/workflows](https://www.atlassian.com/git/workflows)) helped connect the dots and eased the transition.

</comment><comment><USER6> Is anyone here just as surprised about the existence of "git replace"?

Does it does it do what I think it does -- let you rewrite history and keep the rest of commit ids the same?

I thought that would be impossible up to this point (as in you could re-write all your commits, filter some, presumably with some secret passwords or something, but then you'd end up with different commit ids).

<comment><USER7> I was hoping that it was just a form of `git merge -s ours` but, you're right, the manpage makes it look a lot scarier.

I read the linked blog post and I still don't see a good use case for git replace. I can think up a lot of potential downsides and sources of mass confusion of course!

So, I second that. Anyone know a good, real-world, use for git replace? The example given in the blog post seems overcomplex. It would be easier and more idiomatic to just use rebase. (Yes, rebasing would change the commit SHAs, but would anybody care?)

<comment><USER8> You could in principal store the old history in a separate repository then (reasons for this may be that the repo historically contained many binary files, possibly because it's been converted from an SVN repo). After refactoring and rebasing (Note: You _do_ in fact change the SHAs in this scenario – what they do in the blog post is a rebase+squash/fixup basically.) you prepare a new repo which is much smaller and in which you do all further development.

However, sometimes it may be necessary for developers to do a `git blame` which needs to include the old data or similar. If this happens, you add the historical repo as another remote and `git replace` the oldest commit from the dev repo with the historical repo.

Only a few developers will ever need to use `git replace` in this scenario, so it would not say that it is too confusing. (If it was confusing, I'd say everybody would probably have learned that it exists the hard way…) Maybe think of it as a kind of git submodule but for time.

</comment></comment></comment><comment><USER9> Tag sorting looks really useful, as well as better alias completion.

</comment><comment><USER10> The most important update by far has got to be the new date formats, e.g.: `--date=teatime` and `--date="midnight the 12th of october, anno domini 1979"` just rock.

</comment><comment><USER11> At least try and be subtle:

[https://news.ycombinator.com/submitted?id=kannonboy](https://news.ycombinator.com/submitted?id=kannonboy)

<comment><USER12> Nothing wrong with the actual article.

It also takes exactly one search for the username to find out the poster here is the author of the article, and since when has posting one's own articles (whether or not they're posted on your employer's blog) been forbidden?

<comment><USER13> I was under the impression most links to blogs were submitted by the post author, and this is very common behavior on HN and personally I see nothing wrong with it.</comment></comment></comment>


Ask HN: What are the typical work hours in Silicon Valley? - <AUTHOR> I have not been able to find an answer for this and sadly I do not have any friends currently living there :( <comment><USER2> 10-6. Software engineer at a large web company. Some people come in earlier, some later. The expectation is mostly around getting the job done, not how much time you spend in your seat. Also, be there for meetings. If I'm ever invited to a 9am meeting, I will be there and would expect anyone else to do the same. Most meetings would not be scheduled at that time unless there's no other options though.

<comment><USER3> How long for lunch breaks ? Or eating at your keyboard ? (Speaking from a country where they are typically 1 hour long, so idk what's the norm )

<comment><USER4> I think this depends on lot on the team's culture and the company culture. When a company serves lunch, teams tend to eat together and can get done in 30 minutes without rushing.

</comment></comment></comment><comment><USER5> At Google I work 9-5 or 10-6. I take about 30 minutes for lunch and occasional five to ten minute coffee/snack breaks. Recently I've been trying to set aside my last hour of work to read a programming book relevant to my job. Most people here work similar schedules, but typically it's the youngest and newest employees that work longer (which is not expected, and sometimes actively discouraged by managers).

</comment><comment><USER6> I work ~85% remote for a Bay Area startup, and I'm sure every company is different, but I would say roughly 9-5 with a strong expectation that if something happens over the weekend or I need to be on a call with a customer in India late at night that I will be there. So call that that 9-5 with 24/7 on-call, 7 days per week.

<comment><USER7> Being on-call, with rounds switching among peers every week is an option.

</comment></comment><comment><USER8> I worked at a small startup in Santa Clara for about a year. The team was small and generally a bit older than me (35-37 and married).

The team was expected to generally work well beyond "9 to 5" and work / be available for calls on weekends.

Long story short, I no longer work there. As a young developer I did learn a lot though.

EDIT -

In hindsight, I'd worked at three startups in college prior to this job (in Austin and Boston) and I think it boiled down to my boss being an incredibly smart well intentioned guy, but he just couldn't manage people nearly as well. I was mostly turned off when we'd work so hard that we'd miss possible problems or build features we didn't need that could've been avoided by simply taking a step back and maybe thinking about it for an extra day.

</comment><comment><USER9> It's usually a very individual decision. It also depends on where you work and the age of your co-workers. My younger co-workers would arrive like 9:30 for breakfast, and leave at like 7-7:30 after dinner. I've also worked with people who would get in at 11 and leave at 8 or 9. Older co-workers with families will generally work a 9-6 or something, and often won't stay for dinner (but may occasionally bring their families for dinner :p)

<comment><USER10> Parent post generally agrees with what I've seen. I'm older with family and generally work 9-6. I eat free company lunch at my desk most days.

</comment></comment><comment><USER11> Your question is too broad. You're going to get a very big set of answers because you've asked over so much time and space. Please allow me to answer a series of more specific questions that may help you understand more than the "average."

 _What are the typical work hours in a large tech company in California?_

Very few require more than 50 hours a week. Typically people are in office 7-8 hours a day, and often put in some time handling communications or catching up on small sums of work in the evenings.

Folks in higher management positions (directors and above) typically work more in a company like this. The demands on directors and above in tech companies are uncharacteristically high.

 _What about medium sized companies with less than 300 people?_

This starts to get into the "it depends territory." Companies this size are small enough to still become reliant on extraordinary effort from individuals. Being a manager is often very stressful in smaller-but-not-small companies like this because you're always juggling resource scarcity.

Engineers should expect 8 hours a day, but occasionally much longer. This kind of company is often not-quite-there-yet on having well-managed infrastructure that doesn't page you at 3am.

 _What 's it like working at a very small startup when I'm not in the first 3 employees?_

You can tell if it's going to be more-but-okay (50-60 hours a week) or unsustainable (70+) by talking to the founders. Most small venture-funded companies will optimize their hiring around single people willing to take long hours for less pay and the hope of a payout.

 _What 's it like founding a company?_

It is what you make of it. You absolutely should expect some absolutely booked weeks. It'll be awful. It may or may not be worth it.

In summary: the larger the company the more time upper management will put in and the more normal hours everyone else gets to work.

</comment><comment><USER12> There is a lot of 11-8 in the city (ppl avoiding traffic)

</comment><comment><USER13> Users of hacker news might skew the results a bit. If you are doing 60+ hour weeks, you might not want to waste time on here.

<comment><USER14> I suspect it's the inverse. The companies I've been at with a 9-5 culture spend a much higher percentage of their time doing "real work" than those with an unpaid overtime culture.

</comment></comment><comment><USER15> I personally do 9-5 with a 30 minute lunch, maybe 60 minutes if I meet a friend or something. A lot of startups tend to have flexible hours, especially for software engineers. I've worked in places where some engineers don't get in until 10:30, but they stay until 7:30. There are a lot of people who work overtime, though, like 9am-9pm, but I've never been that type, and nobody has ever complained about my productivity, so it seems like a personal preference. I prefer to come in early and leave a little early, because I value my time with my family and friends much more than I do a couple more hours at the office. I learned a long time ago that there will always be more work to do tomorrow.

I think the hours that work for you really depend on how much time you need to be by yourself. If you're busy with meetings during the 10am-4pm hours, then maybe you want to get in early at 8am or leave later at 7pm so that you have some alone time to get work done without being pestered by others.

I contrast this experience with my jobs in Chicago and Atlanta, where 9-6 was expected, and if you showed up late you would get in trouble. I haven't really experienced that in SF or SV, unless there was a 9am meeting that I missed because I was late. (Hasn't happened yet, but it's the only reason I would get yelled at.)

</comment><comment><USER16> I'm fairly close to 9 to 5 or 6. 3-4 days a week I get up at the crack of dawn to get 2-3 hours in before anyone is up. (It's my best time for uninterupted thinking)

At a prior job it was flipped - most nights a few hours an evening to talk to India.

I haven't had a silicon valley job that encroached on dinner on a regular basis, but part of that is how I selected the firms.

</comment><comment><USER17> I generally work 9-5 or 10-6

<comment><USER18> What about lunch break ?

<comment><USER19> 20% of people get comped meals by their employer, meaning they eat in the office, most if not all days. This includes Google.

35% of people eat in "subsidized" onsite or on-campus cafeterias and foodcourts. This tends to include Microsoft, Amazon, and Apple.

15% of people will go to local area eateries, grab their food to-go, then return to the site to keep their time offsite to a minimum, then eat at their desk. Personal orders to Grubhub, etc. fall in this category, and this category is growing.

15% of people will go to area eateries, dine in. These tend to be upper management, as it's easier to argue that it's a working lunch.

15% skip all meals or snack on food brought from home.

If you're making $80/hr., a one-hour lunch break unpaid makes your lunch about $100, so it's a very expensive decision to take a continental-style lunch offsite.

If you think as a big part of your job, your employer derives a free benefit from your time spent offsite. If you lose focus by spending time offsite, your employer derives an expensive benefit by feeding you free lunch.

<comment><USER18> Wow, here in Berlin things go totally different.

1 hour lunch break is often encouraged by employers. Working as a freelancer I work an "extra" hour, because of my lunch break. So do the employees here.

<comment><USER20> I have the same experience in Berlin, you can go do whatever you want, but lunch break is your time "outside of the 8 work hours" :-(

</comment></comment></comment></comment></comment><comment><USER21> I work remotely for a large SV company. I typically start around 8 am (no commute) and work an eight to nine hour day, sometimes broken up into blocks depending on what I have going on in my real life.

</comment><comment><USER22> It's all over the place. On my team we have the following rough schedule.

* Me: 8ish to 6ish

* Eng 1: 930ish to 630ish

* Eng 2: 830ish to 630ish

* Eng 3: 1030ish to 730ish

* Eng 4: 8ish to 6ish

* Eng 5: 830ish to 630ish

* Eng 6: 830ish to 630ish

But the team skews a little older and a little more settled down.

</comment><comment><USER23> In Belgium (Europe) i work from 06:00 to 14:00 Best hour to avoid trafic. We can choose or start hour between 06:00 and 09:00

</comment><comment><USER24> Look at the rush hours it'll give you a clear understanding of how wide the range is in the Bay Area. Traffic starts at 5am and ends at 10:30am on the morning, then starts at 2:30pm and ends at 7pm. This is for the big rush. Some people still still start at 11am and end at 8pm.

</comment><comment><USER25> 10-6/7pm or 11-7/8pm. Sometimes I flip to a night schedule 7pm-7am if a lot needs to get done. (I'm much more productive at night, and my previous bosses would let me work overnight in the office when it was quietest).

</comment><comment><USER26> At Facebook, I normally work from 8-4. I'm an early person, have kids to pick up from afterschool in the afternoon, and am on a team of people with similar schedules, so this works for me. Most people seem to work ~10-6, though.

</comment><comment><USER27> In my experience it depends largely on yourself. No one is really checking what time you clock in and what time you clock out. That said many people like their job and work long hours voluntarily.

</comment><comment><USER28> My work is really flexible, so I come in around 930, and I tend to leave around 4:45 or so. I'm just not productive after that so there's no use sitting in a desk killing time

</comment><comment><USER29> I work for a large enterprise security company. I work 1 or sometimes 2 days a week from home. I spend about 6 hours in the office, usually from 10-4. My commute is really long, close to 2 hours one way, so I got my company to reimburse for a verizon jetpack, so that I can work during the commute. Apart from the window of time I spend at work, I work the remaining hours when I am in the right mindset. Sometimes, this is early in the morning, or late in the evening.

</comment><comment><USER30> Is it frowned upon to ask during an interview what hours most engineers work? Will that hurt your candidacy?

<comment><USER31> Only at companies that plan to take advantage of you. Companies with healthy cultures will be honest with you and will be glad you asked so expectations are aligned.

</comment></comment><comment><USER32> 9-5 or 10-6, and if something breaks (rare) then you deal with it

</comment><comment><USER33> 40-60 hours depending on employer.

</comment><comment><USER34> i'm putting in at least 50 hours

<comment><USER35> Are you getting paid for 50 hours?

<comment><USER36> That's great question

</comment></comment></comment><comment><USER37> 9:30 - 5</comment>


Goodbye, Lua (2016) - <AUTHOR> https://realmensch.org/2016/05/28/goodbye-lua/ <comment><USER2> If the author thinks that LUA depend your hell is bad, just wait until he gets t JavaScript dependency hell. And where it is apparently normal for an "npm install" to bring in over 1000 dependencies, even for a nearly trivially small program.

Just wait.

<comment><USER3> Yeah, I tend to use Lua exactly for this reason: to escape the dependency hell of JS and Node and so on.

Having fewer 3rd-party libraries to use in formulating an addiction to dependencies is often a positive thing.

</comment></comment><comment><USER4> ..."and now you have 2 problems!"</comment>


Trademark violation for open source project - <AUTHOR> Hi,
I created an open source project on github in 2013 and now I got a request to rename it, because the name was registered as a trademark in 2015. I don't think I should rename it since the name had been used before the trademark registration. Is there anyone here with experience in software law and can answer the question what should I do with this renaming request?
Thanks <comment><USER2> [http://www.4trademark.com/faqs.html](http://www.4trademark.com/faqs.html)

What if some other company is already using my trademark?

If both companies offer the same or similar goods and services, and the other company has already registered the trademark federally, then you are likely out of luck. It may be best to find another name to trademark. If they have not trademarked, but they used the name first and they use the name nationally and pervasively, then you are probably still out of luck depending on the scope of their use. However, if they only use the trademark on a local basis, then you may be able to register the trademark federally and use it in those areas where they do not and have not used it before.

Example: Let's assume they have a trademark in California and have only ever done business in California. You can still register the trademark at the federal level and use it nationally. However, you cannot use it in the State of California.

<comment><AUTHOR> It was used in the UK. I'm in Ireland. They registered the trademark in the UK and in the USA. The software framework has an Irish domain and a github page. It's so difficult in software :(

</comment></comment><comment><USER3> Ignore the request. If they pester you again, get a lawyer with expertise in trademark law.

</comment><comment><USER2> just because the reigetsered in 2015 doesn't mean they weren't using before. Could get messy.</comment>


Canada ditches the penny - <AUTHOR> http://www.globaltvedmonton.com/money/penny+to+disappear+from+coinage+system+minting+to+end+by+fall+budget/6442610744/story.html <comment><USER2> This line-item is basically a smokescreen for cutting all sorts of other important things (like the research tax credit, SR&ED; various social programs; the budget for our national broadcaster, the CBC; and the salary of the Chief Electoral Officer):

[http://www.reddit.com/r/canada/comments/rjrfn/the_budget_5_b...](http://www.reddit.com/r/canada/comments/rjrfn/the_budget_5_billion_in_cuts_over_3_years_and/)

Amusingly this particular cut was actually a private member proposal from the NDP (the left-most mainstream party).

<comment><USER3> I'm not very familiar with canadian politics. Why is it amusing that the NDP proposed this?

<comment><USER4> The party that implemented this is the Conservative party, the right-most mainstream party. The two parties generally don't see eye to eye, to put it lightly.

<comment><USER5> The Conservative party was decimated years ago and was nearly eliminated then eventually the Reform Party which became the Canadian Alliance merged into the Conservative party (both parties were dead anyway).

Reformers were certainly farther right compared to the members of the old Conservative party. Now there is a Conservative party it's the same skin on the outside but fundamentally different, it couldn't be more different, it's pretty much the Reform Party 2.0 yet people see "Conservative Party" and vote for it.

That's my take on it anyway.

</comment></comment></comment></comment><comment><USER6> A brilliant decision. Now if we could only get rid of our 1 euro cent here.

According to some inflation figures I quickly found on the internet, a (US dollar) penny had a hundred years ago 23 times as much buying power as a penny nowadays. That means the smallest denomination was then was worth almost as much as a quarter is now! People could get by without smaller coins then and they should be able to work perfectly fine now without worthless pennies.

<comment><USER7> Even better: the US used to have a half-cent but they abolished it in 1857 due to its lack of value. With inflation, it's worth more than today's dime.

<comment><USER8> Some would argue that your example is almost exactly as good as the other one given.

<comment><USER9> His example features actual abolition of an existing coin, not just deciding "well, this ought to be granular enough" when designing money.

</comment></comment></comment></comment><comment><USER10> Just as a point of interest, Australia removed the 1 and 2 cent coins from circulation back in 1992. Prices have been rounded to the nearest 5 cent value when paying with cash ever since. A comment on this thread said that it's madness, but it's all someone my age has grown up with.

<comment><USER11> As a fellow Australian the pennies aren't what I found most bizarre about US and Canadian currency, I more often found myself getting tripped up by the fact that listed prices in US and Canadian stores never include sales tax.

<comment><USER12> Most stores in the US don't include sales tax in the listed price, but some do. Examples include vending machines, Starbucks and other coffee shops (but not usually locations inside book stores and supermarkets), and concession stands at concerts, sporting events, and fairs. They probably do it because they don't want to deal with pennies. Concession stands often go further and use whole dollar amounts, since the prices are high anyway.

IIRC, some post office vending machines will take pennies, because they can sell stamps one at a time.

<comment><USER13> When I was in grad school there was a pizza-by-the-slice place where all prices were tax-included and an exact multiple of 25c. The only coins in their register were quarters. If you gave them any other coin, they counted it out and dumped it in a jar next to the register. A manager claimed that it was way more efficient and easy to count that way (and throughput mattered a lot during busy times). It also meant that a large percentage of the time the customers had exact change counted out before they even got to the register, which meant they didn't even need to make change and throughput increased further.

</comment></comment></comment></comment><comment><USER14> Reminds me of an anecdote about a woman who balanced her checkbook by rounding all amounts to the nearest dollar. Her father eventually heard about this, freaked out, and re-tallied everything — and ended up within a dollar of her previously-computed balance.

</comment><comment><USER15> "They cost more to produce than they are worth, nobody likes them, they have no commercial value."

My very first (very primitive) public facing webpage was dedicated to abolishing the Canadian penny. Good riddance!

<comment><USER16> CGP Grey has an excellent youtube video on the whole issue for the US. The US currently makes 4 billion 1 cent coins annually. And they have already been abolished at US military overseas bases.

<http://www.youtube.com/watch?v=y5UT04p5f7U>

(Come to think of it, doesn't the US military use a lot more metric system than the general population. If so, this would be a good reason to increase the military since it would appear to be the only way progress happens!)

<comment><USER17> The US military also uses a 24-hour clock (2000 hours instead of 8:00 PM) and consistent little-endian date formats (29 March 2012 instead of March 29 2012).

<comment><USER16> That does it. I'm now in favour of compulsory military service for everyone, since that is the only way US citizens will be modernized.

</comment></comment></comment></comment><comment><USER18> "And some old adages will likely fade away, too."

Australia hasn't had pennies since the sixties and we still use phrases like "in for a penny, in for a pound."

<comment><USER13> The US hasn't had pounds for _centuries_ and we still use phrases like "in for a penny, in for a pound". :)

</comment></comment><comment><USER19> Does that mean pricing psychology would work differently? 19.99 would be out of fashion?

<comment><USER20> It will turn into 19.95 to keep the same psychology. Many stores already vary the last digit to mark the status of the item. Such as 97 for clearance items and so on.

<comment><USER21> actually, it'll be $20.00

<comment><USER22> I sure wish it would. I never really understood the supposed psychology behind .99 and .95. To me, three nines looks less welcoming than three zeros.

<comment><USER20> It's so it doesn't cross the subconscious barrier of "under 20 dollars". $99.99 doesn't cross the subconscious barrier of $100 for example. It's probably been A/B tested to death, since it's so widespread among retailers.

<comment><USER22> Wow. I'd like to think people aren't wired like that, but I guess subconsciously there's lots of exploits like this.

</comment></comment></comment></comment></comment></comment><comment><USER23> I suspect that POS software vendors will make billions of pennies selling upgrades.

</comment><comment><USER24> I wonder how this will affect sales taxation, as the tax rate isn't a multiple of 5 in all provinces, and hence the amount of tax collected on a purchase will have to be either be rounded down or up.

<comment><USER25> "If the customer has the pennies, they can use them. Payments with debit or credit cards, or cheques, can also be to the penny. But if the customer is paying cash and doesn't have the pennies, the total will go up or down to the nearest nickel."

I gather that's post application of sales tax.

<comment><USER26> Presuming a uniform distribution of price endings, existing pennies are then worth 1.43 cents (you only spend them when the price is congruent to (0.03 or 0.04) mod 0.05).

</comment></comment></comment><comment><USER27> Now is a good time to buy up all the pennies for cheap. Melt them down the day they're abolished and sell it all as scrap metal (or don't sell if you think it'll hold value like gold does).

</comment><comment><USER28> Great in a way that it costs more money to produce a penny than what it's worth.

</comment><comment><USER29> This is simply patching over the underlying problem - dilution in the money supply. There is no reason why countries like the US and Canada who have only become a lot wealthier in the last 200 years should have such inflation. Stop printing money, and the penny will remain valuable!

</comment><comment><USER30> i wonder if Canada has that bit, where the prices you see in the store are the final prices(i..e with tax already calculated in)

<comment><USER31> No, the prices are before tax. I think there is even a law against showing prices with tax for whatever reason.

<comment><USER32> I thought they don't include tax so they don't have to change it every time the tax rate change.

<comment><USER33> I suspect pricing of goods changes more often than sales tax rates.

</comment></comment></comment></comment><comment><USER34> The glory of central banking.

<http://coinflation.com/>

</comment><comment><USER35> Ridiculously simple solution: Drop the hundredths place entirely. Kill pennies, nickels, quarters, bring back $.5 pieces.

A tenth of a dollar is enough precision for any realistic transaction in the United States.

<comment><USER36> New Zealand removed the 5c coin form circulation in 2004, leaving us with $2 ,$1 , 50, 20c and 10c coins. Electronic card transactions are charged to the nearest cent and cash transactions are rounded to the nearest 10th.

The transition was straight forward and I didn't hear any complaints.

<comment><USER37> It works like that in Denmark as well; credit/debit transactions are charged to the full 0.01 kr precision (an absurdly small amount, about 1/10 of a eurocent), but cash transactions are rounded to the nearest 0.5 kr.

</comment></comment></comment><comment><USER38> Is the ditching of the penny an alarming event like the addition of a zero on the largest denomination of currency? Why do I work hard to exchange my labor for money that is being inflated on purpose?

<comment><USER39> To exchange that money for goods. To invest those money into something that will bring you more money back.

</comment></comment><comment><USER40> The beginning of the end.

<comment><USER41> ...of pennies.

</comment></comment><comment><USER42> _If the customer has the pennies, they can use them. Payments with debit or credit cards, or cheques, can also be to the penny. But if the customer is paying cash and doesn't have the pennies, the total will go up or down to the nearest nickel. For example, $1.02 will become $1 and $1.03 will be $1.05._

Something just feels wrong about rounding. The customer would always get screwed. They should solve this problem by using the federal sales tax to round up/down. $1.25 + 5% = 5¢ of tax instead of 6.25¢.

That said, it would make sense for merchants to round down for cash purchases. It would be a tiny incentive to use cash rather than credit cards (which cost the merchant 2-4%)

<comment><USER43> They don't have pennies in Australia and they just round up or down to the nearest 5c interval. I assume they will do the same in Canada.

<comment><USER44> To be precise, that's only true if you pay in cash. Pay with plastic in Australia and you're charged by the cent.</comment></comment></comment>


Opera Software Board of Directors to Review Strategic Alternatives - <AUTHOR> http://www.newsweb.no/newsweb/search.do?messageId=382938 <comment><USER2> Opera used to be one of my favorite browsers. Then they went webkit/blink and threw out every feature that made Opera, Opera, essentially turning it into an even more stripped down version of Chrome (new Opera didn't even have bookmarks at launch).

Now they see their experiment didn't work and are looking to cash out before it's too late.</comment>


Ask HN: What do you dislike about video on the web? - <AUTHOR> I've been working on building a video platform that's a bit different - we've all sat through so much recorded and live video over the past months and there are many clear pain points - typically it's not an accessible medium, has poor SEO value unless transcribed and when prerecorded is inherently one-way. My personal bugbear is that it's also entirely unnecessary for many of the things it's used for (what happened to phone calls?).<p>I'm working on a platform called Foyer (foyerlabs.com) with the aim of improving those issues and more, and would love to hear what HN likes and hates about (work-related, I'm not gunning for YouTube) video on the web. <comment><USER2> My main problem with non-entertainment, prerecorded video is how little control you have on how you consume it, when compared to text. Consuming video is too linear and opaque.

When you open a book, article or even forum thread you have immediate access to all the content, can quickly skim through the index, chapters, headings, posts and make a mind map of what's happening. You can adjust your reading speed on a sentence basis. Jump back and fro, Reread a difficult passage 10 times effortlessly.

Video on the Web is basically no better in that area than VHS was. You get a clickable timeline, timestamps and that's that?

Transcripts are a starting point, but a bit useless without a proper TOC. Now, if you get that part right but the video is just someone talking, the video itself becomes redundant (for me anyway, I know people are different.)

Visuals-wise, some platforms have a quasi-instant lowres preview when you move the timeline cursor. A nice upgrade on that would be to show the transcript and possibly section (drawing from the TOC idea above).

I can't think on how to greatly improve this, but you did ask what we disliked.</comment>


Ask HN: Suggest me books on leadership and negotiations? - <AUTHOR> <comment><USER2> A Song of Ice and Fire by George R.R. Martin

If you are able to suss a message from fiction, these books are perfect. A (maybe the) central theme in the series is an examination of the muddied qualities that define good leadership. What does it mean to be a good (effective) leader? What does it mean to be a good (moral) leader? What does it take to be both simultaneously? When we negotiate as leaders, what do the people "below" us gain and lose?

Fiction is such an underrated source of knowledge because people tend to forget that the lessons we learn from fantasy, general fiction, or science fiction are often derived through critical thought and the answers are not laid bare for us. The reward in putting in the effort to uncover the answers though is that the lessons we learn stick with us and are more integrated into our worldview.

</comment><comment><USER3> The Score Takes Care of Itself: My Philosophy of Leadership

Never Split the Difference: Negotiating As If Your Life Depended On It

</comment><comment><USER4> Influence and Pre-suasion by Robert Caldini

Difficult Conversations by Bruce Patton, Douglas Stone, and Sheila Heen

</comment><comment><USER5> Never split the difference

<comment><USER6> +1

It always pops up on book questions.

I also found "Crucial conversations tools for talking when stakes are high" by Kerry Patterson good.

</comment></comment><comment><USER7> The tipping point by Malcolm Gladwell is pretty good, I thought

</comment><comment><USER8> _Getting to Yes._

 _The mind and heart of the negotiator._</comment>


ReQall Product End of Life - <AUTHOR> http://www.reqall.com/

<comment><AUTHOR> Dear reQall User,

It is with deep regret that we are writing to inform you that we will no longer be able to provide the product reQall after October 31, 2013. We terminated development on the product more than a year ago, but have been keeping the product available to our users, despite the fact that we have had to subsidize the costs. However, a couple of events have changed the situation: The vendor who provides the platform on which our IVR (for Phone Access) is based has informed us that the platform will no longer be supported as of October 31. iOS7 has broken reQall for iPhone so that users can no longer record tasks on it. As these events break 2 of the 3 major components of reQall, we feel it is time to let it go. The product and our users hold a special place in our hearts, so this has been a difficult decision for us.

Here's what you need to know: Before November 30, you can export your personal data. Go to [http://www.reqall.com/webui/my_accounts](http://www.reqall.com/webui/my_accounts) and select "Download my backup" on the lower right side. You will receive a csv file of your existing reQall items via email. reQall, the company, will continue. Our strategic focus continues to be on reQall Rover and The reQall Platform, which we use to create customized personal assistant applications for enterprises.

If you have any questions, please contact us at firstname.lastname@example.com. Meanwhile, remember to export your data before November 30th.

Thank you for your past support, The reQall Team</comment>


Ask HN: Will i need separate earphones for my iPhone 7 and my Macbook? - <AUTHOR> <comment><USER2> The iphone 7 includes a Lightning to 3.5 mm Headphone Jack Adapter in the box.</comment>


UK Wind farms outstrip nuclear power - <AUTHOR> http://www.bbc.co.uk/news/business-29715796

<comment><USER2> Relevant quotes:

* The energy network operator said it was caused by a combination of high winds and faults in nuclear plants. * The situation is caused by windy conditions boosting the output from turbines at a time when eight out of the UK's 15 nuclear reactors are offline.

Wind power is a helpful boost, but it's not fair to say it outstrips nuclear when it's only for small specific periods of time with high wind, when half the nuclear plants are down for maintenance.</comment>


Urbit Is Building a 'Virtual Galaxy' for Bitcoin Nodes - <AUTHOR> http://www.coindesk.com/urbit-developers-bitcoin-node/ <comment><USER2> This project is reinventing a bunch of stuff that's completely orthogonal to the goal of a decentralized app platform. They've written an OS, a filesystem, a networking layer -- all in a completely new language that looks incomprehensible ([https://github.com/urbit/arvo/blob/master/arvo/clay.hoon](https://github.com/urbit/arvo/blob/master/arvo/clay.hoon)).

I doubt very much this project will get much traction due to the enormous conceptual overhead of working within its ecosystem. There's a huge learning curve approaching something like this from the Unix/C ecosystem, and I don't think it's merited.

<comment><USER3> That language is atrocious! That has to be compiled / transpiled from something higher level

<comment><USER4> It will be.

</comment></comment></comment><comment><USER5> What did they sell? Apparently, some (all?) of their potential user ID space.

Urbit, under all their jargon, is a base for a federated social network. Sort of like Diaspora. (Right now, they say they have chat, so it's sort of like IRC.) They recognize that a big problem with social networks is spam. If you can freely create user IDs, it's hard to stop spammers. But if user IDs cost money, then spam blocking costs spammers money (their purchased online identities lose value) and spamming is no longer cost-effective.

So their solution is to create a market in user ID space. It's not clear if this will work out, but it's something. If you buy an ID, you own it, in the Bitcoin sense. That is, you're not at the mercy of some service provider, and can freely move from one service provider to another without their permission. (I think this is right. Not entirely sure.)

It's not clear if this will work in the social space. They have the underlying machinery, but nobody has built the Facebook or WhatsApp or Dropbox killer on top of it yet, so it's useless to end users at this stage. The concepts are interesting; it's good to see people trying original ideas.

If someone builds an easy to use social application on this and gets some services to host it (like Wordpress hosting), this could get actual users. Right now, it's a developer toolkit.

<comment><USER6> urbit dev here: we completely agree that we need to have _useful_ apps on top of it. We have an alpha for super simple wordpress-like hosting (in fact, the urbit.org site uses it!). All you have to do is drop a few md files into a tree and you're ready to go. See [http://urbit.org/docs/using/web/](http://urbit.org/docs/using/web/)

Joey Krug, founder of Augur, had a great post on how he could see Urbit as being a great compliment to the blockchain[0]:

"If the blockchain is useful in those areas where [almost] no trust exists, Urbit has the potential to be useful for essentially everything else.

To give a concrete example, this would be useful for any Ethereum app that doesn't want to store data on a central server (which most cannot do whether for legal, security, or ideological reasons). The idea to me is that the internet wasn't built very well to run decentralized apps [which is definitely the case if you've ever tried building one without having to rely on central servers for caching, storing accounts, comments, etc.]. It's, imo, a nice complement to blockchain tech like Ethereum and Bitcoin. Long term once it's out and running I see dapps like Augur [a decentralized prediction market which I work on - [http://augur.net](http://augur.net)] using it so users can securely store their private keys, report data, market data, trade history, etc. and easily go across/between devices as opposed to just using localstorage [which is a pain to migrate using] or fetching it from ethereum every time [which is very time consuming and has lots of overhead].

If we're going to seriously move in this direction of decentralization, at scale we need something like urbit. No one else is really tackling the same set of problems. Came across this quote on it by Alan Kay: "They have verve, and that's generally a good thing. In this case there are a lot of details that need to be grokked to make any reasonable comment. The use of combinators (a kind of dual of lambda calculus) harks back to an excellent thesis by Denis Seror at the University of Utah in the 70s that produced a safe, highly scalable and parallel implementation. I haven't looked at it more deeply (and probably should)." [[https://news.ycombinator.com/item?id=11810177](https://news.ycombinator.com/item?id=11810177)] - very cool!"

And finally, another idea: [https://urbit.org/posts/objections/#killer](https://urbit.org/posts/objections/#killer)

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

<comment><USER7> > We have an alpha for super simple wordpress-like hosting

And what is the advantage of this over wordpress? Or even just raw nginx?

I don't necessarily mean what is the advantage of urbit in its current state -- I get that this is an alpha release. What I'm asking is: when urbit becomes what you envision it to be, what tangible advantage should I as a user expect to see from using Urbit over using Wordpress or nginx?

<comment><USER4> The combination of personal ownership of data, worldwide visibility (if you want it), and iPhone/Facebook-tier ease of use.

Right now, you can only have two of those at a time. You own your Wordpress install and it's world visible, but your mom needs you to administer it. (Not every mom is lucky enough to have a kid like you.) Your Facebook is world visible and your mom can set one up, but you don't own it (quite the converse). You own what's on your iPhone and your mom can use one, but you can't publish anything with it - you need a separate service with its own set of tradeoffs.

Urbit's USP is that it's designed to be able to provide all three, along with a cryptographically verifiable identity system that can make spamming and shitposting costly enough to be economically inviable.

All this is ambitious as hell, of course, and it's very early days yet - there's every chance Urbit will go down in history as a curious but ultimately doomed also-ran, if it goes down in history at all. But it's easy to understand why people find its design goals appealing.

<comment><USER7> > The combination of personal ownership of data, worldwide visibility (if you > want it), and iPhone/Facebook-tier ease of use.

OK, I am totally down with that set of goals. But...

> You own your Wordpress install and it's world visible, but your mom needs > you to administer it.

That's not clear. Have you ever actually used Wordpress? It's actually pretty friendly to non-technical users. But OK, let's accept as a premise that Wordpress is beyond Mom's ability, and that this is a problem that needs to be solved. There are two possible ways to solve it:

1\. Modify Wordpress to make it more mom-friendly

2\. Throw out everything that has been done in computing to date and start from scratch, rebuilding everything from the ground up (well, except that we're still going to run on unix and hand-compile Hoon to C when performance matters, but we'll let that slide).

Why is approach #1 so unlikely to succeed that we should even try #2?

<comment><USER4> > It's actually pretty friendly to non-technical users.

To _use_ , sure. To install and administer? Not so much. You can get a Wordpress.com account, but that doesn't solve the ownership problem.

Sandstorm.io goes some way toward fixing the specific problem of Wordpress being impossible for non-technical users to install and administer. (Probably quite a long way, in fact.)

And that's great! For _Wordpress_. But it doesn't do anything to solve the larger problem of ownership of data, which - and I appreciate I didn't make it clear in the comment to which you're responding, but see [1] - is in this case a cipher for ownership of identity, which right now belongs to social media networks, which is another way of saying it belongs to Facebook.

It's not clear that something like Urbit is necessary to solve this problem. But it's also not clear that something like Urbit is _not_ necessary, and I don't know of anyone else who's even trying to attack the problem directly.

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

<comment><USER7> > To install and administer? Not so much.

I ask again: have you ever tried? Because installing WP can be as easy as:

sudo apt-get install wordpress

after which all the admin is done through a web interface.

> I don't know of anyone else who's even trying to attack the problem > directly.

[https://owncloud.org](https://owncloud.org)

[https://mailinabox.email](https://mailinabox.email)

[https://github.com/rongarret/BWFP](https://github.com/rongarret/BWFP)

<comment><USER4> Not for people already comfortable with VPSes and firewalls and SSH keys and command lines and apt-get. For _everyone_.

And that matters, because as I learned the hard way, being able to do it just for yourself isn't enough. A social network is _social_. If you're not on it and everyone else is, you still lose.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Can someone give a synopsis of Urbit? Every time Urbit comes up, I skim their website but get pretty lost in marketing-speak. I see a lot of "control your data", "digital freedom", and "general purpose computing" without any short, to the point explanation of what the heck it's all about.

<comment><USER9> Animats has a great way to describe it ( [https://news.ycombinator.com/item?id=11820643](https://news.ycombinator.com/item?id=11820643))

It has the cult-like approach of Xanadu - use new terminology, tie it to an economic model, and re-invent everything. Also, there seems to be a cult leader.

Jargon: noun (data), nock (interpreter), mint (compiler), span (type), twig (expression), gate (function), mold (constructor), core (object), mark (protocol). It's Newspeak for programmers.

The overall concept seems to be a federated social system, like Diaspora. Everybody has a online presence which they own. But you can take your ball and go home, moving your online presence somewhere else, and it still gets found by others. Somehow. (That's a hard problem at scale.)

There's a claim that nobody can create vast numbers of identities for spam purposes because there are only 2^32 possible human identities. (That number should have been at least as big as the population of the planet. 2^36, maybe.) Apparently you have to buy address space, which is a profit center for somebody.

There's a download, which gets you their "OS" (which runs on top of another OS), an interpreter for their Hoon language and access to their chat environment.

Not sure what to think of this, but someone put in a lot of work.

<comment><USER10> Re: the jargon, there's a technical reason for it. Urbit atoms—which are the Nock runtime's only non-product "type"—are a lot of things, but they're _basically_ a union-type between a bit-string and a bignum (i.e. a way to talk about a set of packed bits and an arbitrary-length number interchangeably.)

Bignums themselves are somewhat expensive data structures to pass around, so runtimes that use them usually don't use them for everything; instead, they have an Integer type that has Bignum (data-structure on the stack, or pointer to data structure on the heap) and Fixnum (regular integer machine-register) implementations, and write a glue layer to treat the two interchangeably.

So, you've got a runtime where your only "type" is an integer, but it breaks down into "cheap integers" and "expensive integers."

Now, in most dynamic-language runtimes (i.e. runtimes where type-tagging and pattern-matching _doesn 't_ all happen at compile-time), you want a type that "represents itself" to use for type-tagging, dictionary keys, function references, etc. This is usually a Symbol or Interned String (or Atom!) type, with the runtime keeping a symbol table mapping fixnums ('cheap integers') to strings (which are effectively, in Nock, 'expensive integers'). You need this table, because dynamic language functions manipulate/build/pass around/compare a _lot_ of symbols, and the interpreter would be really slow if you were passing and comparing 'expensive integers' by value.

But Nock can't really keep a symbol-table, because every "atom" ID embedded in a Nock program is a _universal_ ID, a handle any other Nock runtime might be passed and attempt to manipulate. (And you can't even use a global symbol- table that uses hashing—i.e. a DHT—because Nock doesn't differentiate the "Symbol" atoms from any other atoms, so you'd have to treat every atom the same and hash them _all_ —and, even _pretending_ that's cheap, you're eventually going to get collisions that way.) The only symbol table that works in a globally-distributed system is one that maps bitstrings to themselves. And that's as good as no symbol table at all.

So what do you do when you can't make your strings ('expensive integers') into interned strings ('cheap integers')? Just use the cheap integers from the start! In Nock, this means that all the runtime-defined symbols—all the atoms in the language and the stdlib—are bitstrings that are short enough to be encoded _directly_ as fixnums. Since Nock has the requirement of running on 32-bit machines, that means 32-bit bitstrings: four-ASCII-character strings. Thus most of the jargon.

Do note, it's not _required_ to use four-letter names for "symbols" _you_ manipulate in the Nock runtime; but doing otherwise means passing around 'expensive' handles instead of 'cheap' ones.

\---

I find Urbit's solution here _interesting_ —but they probably chose it for purity's sake.

I would like to contrast it to the implementation in Erlang's BEAM runtime (which also, coincidentally, has 'atoms', but where these are simply its particular symbol type):

• an atom table is kept by each "node", with no need for the atoms in each node to have identical mappings;

• atom IDs are mapped back to their original bitstrings when serializing any data structure including them, even if just for internal persistence;

• each distributed-RPC connection _between_ nodes is stateful, keeping its own atom table (kept synchronized on both sides by additional messages) as a cache to speed up communication between nodes. This can be seen to be similar to a streaming compression algorithm's Huffman tree cache, but it's interesting to look at it as the connection being its own virtual 'node' that has this particular atom table, which both nodes are then modelling and translating to/from.

<comment><USER11> None of that strikes me as an explanation for the obtuse _jargon_ in particular.

<comment><USER10> In summary: the runtime desires you to call things four-letter-words. So the creators have decided to make up new four-letter words for everything they have to refer to in code, rather than just, say, abbreviating perfectly good non-four-letter words.

</comment></comment></comment></comment></comment><comment><USER12> Though I don't have a whole lot of confidence in this project...I do appreciate the Borges reference in the company's name. Truly a wonderful story, and highly relevant to the project they are attempting to undertake.

[http://art.yale.edu/file_columns/0000/0066/borges.pdf](http://art.yale.edu/file_columns/0000/0066/borges.pdf)

I'll never forget the first time I read the opening few sentences. I don't think i've ever had a literary experience like it before or since:

> I owe the discovery of Uqbar to the conjunction of a mirror and an > encyclopedia. The mirror troubled the depths of a corridor in a country > house on Gaona Street in Ramos Mejia; the encyclopedia is fallaciously > called The Anglo-American Cyclopaedia (New York, 1917) and is a literal but > delinquent reprint of the Encyclopedia Britannica of 1902. The event took > place some five years ago. Bioy Casares had had dinner with me that evening > and we became lengthily engaged in a vast polemic concerning the composition > of a novel in the first person, whose narrator would omit or disfigure the > facts and indulge in various contradictions which would permit a few readers > - very few readers - to perceive an atrocious or banal reality. From the > remote depths of the corridor, the mirror spied upon us. We discovered (such > a discovery is inevitable in the late hours of the night) that mirrors have > something monstrous about them. Then Bioy Casares recalled that one of the > heresiarchs of Uqbar had declared that mirrors and copulation are > abominable, because they increase the number of men.

</comment><comment><USER5> Their take on namespace management is interesting. The trouble with most kinds of online namespace (IP addresses, domain names) is that somebody has control over it, and they can jack prices up. You don't really own it; you're just renting.

[What follows is how I think Urbit works. This may be incorrect.]

Urbit seems to actually sell user IDs. Once you own one, some blockchain like system registers this, and you own them forever (unless and until you lose your private key, as with Bitcoin wallets). So Urbit doesn't have the problem of domain registrars raising renewal prices.

Your user ID leads to an online presence on some hosting service, but the system enforces number portability - you can move to another service without the consent of the leaving service. So having an online presence will be price competitive.

Somehow, the hosting services which host user IDs have a distributed directory system so that they can find any given user ID. Unclear how this works, and if it both scales and is secure against attacks.

If Urbit can actually do all that, it's useful as a distributed directory management system. This is useful. Once you have that, you can do chat (this is apparently supported now) and that can be extended to voice and video calls. All without central control.

So, is this a Skype killer? You have to buy a user ID, and then you have to buy hosting. That's going to cost a few dollars a month. It's nice that it's federated and presumably ad-free, but it competes with everybody else's ad- supported chat program. It's hard to compete with free.

</comment><comment><USER13> "The project is composed of several parts: a virtual machine (dubbed "Nock"), an operating system ("Arvo"), a programming language ("Hoon") and a peer-to- peer network ("Ames")."

You can introduce any one of those and _possibly_ survive. Doing all four at once? You're doomed. Sorry.

<comment><USER14> What's that quote ... people who say something cannot be done should not interrupt those doing it ?

<comment><USER15> Personally, I prefer this quote from Hannessy and Patterson:

> The level below main memory contains rotating magnetic disks that take > millions of clock cycles to access. Because of the great discrepancy in > access time, no one has yet built a virtual memory operating system that > writes through main memory to disk on every store by the processor. (This > remark should not be interpreted as an opportunity to become famous by being > the first to build one!)

</comment></comment></comment><comment><USER16> I thought this was going to be real estate and bitcoin merged together. Would be interesting to see how those two concepts might merge. Maybe the ability to buy land using bitcoin, and instead of holding a deed/title issued by the state, it remains with a holding company and you prove ownership with a digital private key. Useful for people who want to be anonymous but still sort-of-directly own real estate.

<comment><USER17> this is fairly trivial to implement conceptually in Ethereum. What's hard is to integrate that system with existing legal and social framework.

<comment><USER18> Ethereum, if Solidity were Haskell

</comment></comment></comment><comment><USER19> I'm curious to know how the Urbit team went about choosing the stars to distribute, it seems the 1020 stars amount to almost the address space of 4 galaxies. Have 4 galaxies been picked or are said stars distributed across various galaxies. If the galaxies have been hand picked, could we know their names?

<comment><USER20> This is a great question. We haven't yet picked which galaxies to use, but they'll come from Tlon's allocation. You can find the whole list in here: [https://github.com/urbit/arvo/blob/master/arvo/ames.hoon](https://github.com/urbit/arvo/blob/master/arvo/ames.hoon).

Since we have buyers in the order they came in, I think it'd be fun to distribute stars sequentially across sequential galaxies. But we really aren't sure yet.

<comment><USER19> I think "fun" would be letting people choose their galaxy if it doesn't matter to galaxy owners (which it very well might).

Can you confirm that all galaxies save ~zod are signed by ~zod? I'm presuming here ~zod isn't self-signed.

<comment><USER21> I can't speak to the other galaxies, but ~zod is "self-issued": [http://zod.urbit.org/](http://zod.urbit.org/)

</comment></comment></comment></comment><comment><USER22> I might be misunderstanding Urbit (quite easy it seems), but this idea of selling off what is essentially "land" seems to go against some of the ideas that it pushes - i.e. the democratisation of the web. Also, they appear(?) to have sold off rather large chunks/the address space seems small, is it going to need a "v6" to bring it out of beta like the internet did?

<comment><USER23> ... I don't know the Urbit team all that well, but Yarvin is in particular publicly anti-democratisation of anything. So I'm assuming this is in fact according to plan.

</comment></comment><comment><USER24> Sounds kind of like an evil Second Life. I predict it will go as Second Life did - prepare for the Urbit dick-based economy.

</comment><comment><AUTHOR> More info here: [https://sale.urbit.org/](https://sale.urbit.org/)

</comment><comment><USER25> So it's stars, comets, and galaxies now? What happened to the battleships, carriers, destroyers, ...?

<comment><USER26> For a while everything was "submarines".

<comment><USER27> Which are now comets, and yachts are now moons, for the record.

</comment></comment></comment><comment><USER4> A recent HN discussion including Tlon principals and discussing Urbit in some length and detail: [https://news.ycombinator.com/item?id=11817721](https://news.ycombinator.com/item?id=11817721)

</comment><comment><USER28> Is there a secondary market?

<comment><USER29> No, and they're kind of discouraging it. "We're resistant to any technical measure that would effectively "securitize" or "monetize" Urbit ships — either rendering them fungible and/or trivially transferable, or defining them as fractional claims against some shared asset."

On a more practical level, since most of the address space is unallocated it seems simpler/cheaper to buy fresh space from Tlon than secondhand space. Like how nobody was buying IP addresses when ARIN was giving them out for free.

<comment><USER30> When transferring ownership of a planet, is it done through a cryptographic transaction like in Bitcoin, or is it a plain transfer of a private key that manages the planet?

If it's the latter I can see how 'second hand space' really is a bad idea as there's no way to enforce the transfer of a private key.

<comment><USER27> Namespace transfer is more like creating a new PGP key and revoking the old. You broadcast the new key and can prove that the old key is invalid via the revocation certificate, but there is no distributed consensus mechanism, e.g. a blockchain; the new information simply is propagated throughout the routing network.

</comment></comment></comment></comment><comment><USER31> I get their goal of users having control over their data but limiting the identities artificially sounds pointless to me. Spam accounts are part of the internet and it's time we acknowledge and consider them as part of the overall user base. Or maybe I'm misunderstanding their reason for limiting the identities.

<comment><USER19> I may misunderstand your statement, it sounds like you are saying spam is just part of the world and we just have to live with it.

I do not share that to be an axiom, clearly they are trying to solve, among many other, that one problem specifically.

</comment></comment><comment><USER32> Where are these actually for sale? The website still says they'll be for sale "soon".

<comment><USER6> urbit dev here: the sale site is sale.urbit.org. Unfortunately, we're sold out for now. There will be another crowdsale, but we do not yet know the details. The first announcement will always go out to our mailing list (see urbit.org). This sale sold out before we announced it anywhere other than the list.

<comment><USER33> I got your email, but not until I checked after dinner so missed the very brief window.

A couple observations -- The stars were underpriced, by how much it's hard to know. If your goal is to seed the owner class with random giveaways, this was a success, I suppose. Second, 1020 stars was a HUGE amount to give away. I thought perhaps you would pre-sell one star's share of planets for $1 /ea. $205 for a _star_ is nothin.

From my armchair, what I would suggest is to focus on developing a secondary market for urbit addresses PRIOR TO any further crowdsale. That way you can get some indication of demand before pricing another Tlon-organized event.

Presumably $209k is not interesting money, even to Tlon. It's a shame you gave away 1% at that price but maybe will work out in the end as a way to bootstrap the network with early enthusiasts.

<comment><USER34> If they just give away 1% every time they can do 70+ sales before they even use up half.

</comment></comment></comment></comment><comment><USER19> Urbit being already able to host website, I presume it's possible for me to get a web domain name that will somehow direct to urbit.org and resolve through the planet name to my Urbit?

<comment><USER35> If you start an urbit, it binds a webserver to localhost:8080. You can just point a DNS entry to the server hosting the urbit, plus a cache and reverse proxy or whatever so it doesn't die (*.urbit.org is behind a Varnish cache). No need to use urbit.org as a resolver, which proxies all HTTP traffic through ~doznec.

</comment></comment><comment><USER36> All of urbit.org is in robots.txt, by the way - if there's anything interesting on there that catches your eye, make sure it's in archive.is.

</comment><comment><USER37> Loving the creepy Boards of Canada vibe in the video.

</comment><comment><USER38> Is this like Pied Piper?

</comment><comment><USER39> P.T. Barnum comes to mind. There's a sucker born every minute.

</comment><comment><USER40> Weren't people on the mailing list supposed to receive notifications about sales of Urbit land/namespace?

The article doesn't say where this crowdsale took place. The articles makes it sound like it was offered to the public, if so this is the first I've heard of it.

<comment><USER6> We did send a notification out to our announcements list (see urbit.org), but have heard that it went to some people's spam or promotions folders. In retrospect, we should have also sent it out to urbit-dev ([https://groups.google.com/forum/#!forum/urbit- dev](https://groups.google.com/forum/#!forum/urbit-dev)), but the sale was over before we got around to it.

</comment></comment><comment><USER41> I'm curious as to why the HN story[1] about the sale was flagged yesterday?

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

<comment><USER42> They specifically asked for it to not be publicly posted until this morning; yesterday was mailing-list-members-only. See also this subthread: [https://news.ycombinator.com/item?id=11997925](https://news.ycombinator.com/item?id=11997925)

<comment><USER43> That doesn't seem to be a good reason for it to be flagged.

<comment><USER44> Those with flagging powers can flag for any reason they like. Apparently there are a number of urbit true believers on HN.

</comment></comment></comment></comment><comment><USER45> Proof-of-concept near-vaporware to suck in gullible VCs. Just like all other dumb crypto startups.

<comment><USER46> This breaks the HN guidelines, which ask you not to call names in comments here. Please (re)-read and follow them:

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

[https://news.ycombinator.com/newswelcome.html](https://news.ycombinator.com/newswelcome.html)

Nasty dismissals are of negative value to this site even if there's a legit point locked within them.

We detached this comment from [https://news.ycombinator.com/item?id=12003805](https://news.ycombinator.com/item?id=12003805) and marked it off-topic.

</comment></comment><comment><USER47> From the Github README:

> Urbit is a clean-slate system software stack defined as a deterministic > computer. An encrypted P2P network, %ames, runs on a functional operating > system, Arvo, written in a strict, typed functional language, Hoon, which > compiles itself to a combinator interpreter, Nock, whose spec gzips to 340 > bytes.

Geez.</comment>


MI6 and MI5 'refuse to use Lenovo computers'   - <AUTHOR> http://www.independent.co.uk/news/uk/home-news/mi6-and-mi5-refuse-to-use-lenovo-computers-over-claims-chinese-company-makes-them-vulnerable-to-hacking-8737072.html

<comment><USER2> This is a game with no end - other than open source.</comment>


Show HN: A Google Glass marketplace - <AUTHOR> http://www.glassskills.com

<comment><AUTHOR> I watched on the sidelines as the Google Glass frenzy was taking place, last Wednesday, and it became clear that Google Glass is going to usher in a new age of computing.

Allowing someone remote to see exactly what you see is something we've never quite had. This technology will enable us to receive help with tasks we never imagined. That's the reason I'm launching Glass Skills, a marketplace where Google Glass owners will be able to get unprecedented help with everyday tasks. Let your imagination run wild!

So, HN, what do you have to say?

<comment><USER2> Might be the fact that I'm not a native speaker but my first thought with the url was: Glass Kills'.

Besides that I think it is an idea with potential. Especially for short but complex tasks. Great opportunities for simple tech support.

<comment><AUTHOR> Yeah, "kills" seems to jump out for sure. Thanks for your feedback!

</comment></comment></comment><comment><USER3> My comment is more of a tangent that you need to hide the overflow on that background image.</comment>


Good with one liners? Post a Christmas themed one. - <AUTHOR>

Here is my first submission:<p>https://gist.github.com/bliti/8107315 <comment><AUTHOR> Second one:

[https://gist.github.com/bliti/8107423](https://gist.github.com/bliti/8107423)</comment>