The entrepreneurial adventures of a coder living in a tent in the forest - <AUTHOR> http://thomasbacklund.com/ <comment><USER2> Hi peeps,

This was a nice surprise getting on HN =)

First of all, I was a weirdo before I moved to the forest. But now I'm a very happy weirdo.

I do have 4G (LTE) broad band, so Internet is almost everywhere I go.

I come from Stockholm but I live now on a trail called Sörmlandsleden, it's a 1000 km long trail and for the moment I'm pretty far south from Stockholm. But the trail never goes out "into the wild".

I also think that there is a right time for things. What I need now is to blaze forward with the coding. That's this phase.

I take swims in the lake and keep clean, shave once a week. Wash my clothes.. So when I do go into town to buy food or meet someone, I do not look like some troll. So meeting potential customers is not a big problem. I just have to get up really early in the morning to get there.. =)

I'm happy so many both here on HN and on The ListServe are interested in coding in the forest and giving support.

When winter comes I do not know what I'll do, but coding in the snow is not an option. But I will not surrender to any "normal" life until the startup begins to move, according to my earlier pledge.

Thanks!

ps. there are no bears around here.

<comment><USER3> As soon i get my moped i am gonna go you. /John from Funplanet :)

<comment><USER2> Welcome :)

</comment></comment></comment><comment><USER4> Somewhat off-topic; but if you're wondering how this became a story on HN: it was submitted to the ListServe a bit over an hour ago.

The ListServe is a really cool email lottery where every day one person wins the chance to send an email to everyone else on the list, and the results have been nothing short of mesmerizing so far.

<http://thelistserve.com/>

<comment><USER5> Given that they have >22k subscribers already, the chances of actually getting to say something in your lifetime are pretty low - assuming nobody else joins and there are no repeats, it would take over 60 years for everyone to get to post once.

That said, it sounds interesting, as a "15 minutes of fame lottery" at least.

<comment> mc-lovin Someone should create something like ListServe, where there were that many subscribers, but I had a higher chance of getting selected :-)

</comment></comment></comment><comment><USER6> I spent two years driving from Alaska->Argentina, living in my tent and cooking on my little camp stove.[1]

I'm a Software Engineer, so I did a few freelance projects along the way. It was perfect to get online somewhere, get all the stuff I needed, then drive out to the wilderness for a week or more while I coded everything up. I'd come back into a town, upload what I needed to and continue on my merry way.

[1] <http://theroadchoseme.com>

</comment><comment><USER7> In another life, long before taking up coding, I spent 6 months in the mountains of southern Spain (near Grenada) living in a Rainbow community where tepees were the lodging of choice.

Amazing experience, obviously not much "work" getting done ;-)...except for this English guy, lived in a crude stone structure on the range across the way from where the community was situated. Somehow he had electricity, either through solar panels or running a mega cable to the small village higher up the range.

Anyway, he was a programmer (this is in the mid-90s, BTW) working for a bank in England -- would mail floppy disks to his employer.

Looking back now, I salute him deeply, living on the edge (literally of a mountain range) hanging out with a group of 200+ crazy pot/shroom/lsd huffing hippies -- how he got any work done is beyond me ;-)

Time flies...

<comment><USER8> I had childhood friends living way out in the Ozark Mountains of Arkansas. They had electricity and telephone service. On a pole at the bottom of their pasture was a directional antenna connected to a cordless telephone base station. One time we took a hike down the mountain, along the creek and up the other side. There was the homestead of the family who's telephone that was. They lived in a hexagonal treehouse and an old school bus. They had solar power and the handset connected to another home-made antenna pointing across the valley. The father was a programmer.

He wrote software for parking meters and used a hand-held GPS receiver to keep track of the ginseng he had planted in the National Forest.

<comment><USER9> I spent a good amount of time in those mountains, I have family with property in Mt. Judea.

Wonderful place.

If I did what this man did (which I often contemplate), I would likely do it on their property--I have an open invitation.

</comment></comment></comment><comment><USER10> So instead of _ramen profitable_ , we have _tent profitable_ now.

</comment><comment><USER11> I'm sure it's possible to sit in isolation and create a livable startup. In my experience, though, the best things professionally, such as bizdev deals, finding people to work with or making large sales, come from personal connections. That is, people that you've actually met.

I love the outdoors and I love to code as well. This sounds super fun and I'm kind of jealous of that lifestyle, but I'm not sure if it's a sound business decision.

<comment><USER12> Life is full of phases. I don't think anyone would recommend someone do this for all their life, but for a time and place, it might be the best decision ever made.

<comment><USER2> Thanks, thats kind of how I see it too =)

</comment></comment></comment><comment><USER13> This is awesome. Personally, I occasionally daydream of "escaping it all" and coding by the ocean.

This piece reminded me of someone else who "escaped it all": Paul Lutus [1].

In the spring of 1976, he built a 12 x 16 foot (3.65 x 4.87 meter) cabin in Oregon and developed Apple Writer [2] on his Apple II. He documented his story in a piece entitled, _Cottage Computer Programming_ [3].

[1] <http://www.arachnoid.com/administration/index.html>

[2] <https://en.wikipedia.org/wiki/Apple_Writer>

[3] [http://www.atariarchives.org/deli/cottage_computer_programmi...](http://www.atariarchives.org/deli/cottage_computer_programming.php)

<comment><USER14> Boats provide some of the cheapest rent and best views in the Bay Area. Paid less than one year's worth of rent to buy a 42' motor boat and parked it over by Oakland where my monthly liveaboard slip fee is just over $500/month. If you need to be in or around SF and are trying to save on rent, I can't encourage people enough to try it out.

<comment><USER15> When marinas become full of thrify tech workers, slip fees increase, people bid up any available slip (used boat), and real boaters are forced out, then you will have encouraged people enough.

</comment></comment></comment><comment><USER16> Wow, props for going "all the way".

I have to wonder though, is this a wise choice? If the product alone, e.g. the code, is what drives investment it surely is.. But I would guess that's only one of many factors. People are scared away from others that are too different when it comes to things like behaviour and clothing.

How long can he live in the forest before he's too "weird" to make meaningful connections to customers and investors? My guess is 2 days =/

Unless you're running a b2c SaaS, this might not be a good idea.

<comment><USER17> He does say "until my startup takes off". I don't think this is really that much different from the kid who kept sneaking into a big corp's office (was it YCombinator?) and sleeping under a table in a sleeping bag until he got caught. He's also wisely doing this during a Swedish summer, where the daylight hours are so extreme that everyone's behaviour changes anyway (well, that's what we get here in England anyhow….)

<comment><USER16> Well, isn't it hard to make a startup take off without ever physically interacting with other people?

A few years ago I was writing my master's thesis, and because I was in a hurry at the end and I didn't have any lectures I was spending a lot of time more or less alone. After only a few days with limited human interaction I picked up some strange behaviours. Nothing major. But surely stuff other people with normal social skills could pick up on. Like humming when I was getting my groceries and my small talk was way off. Unlike him, I had access to a shower and clean clothes. (actually, showering each day is kind of a waste of time if you spend it alone anyway ;)

</comment></comment></comment><comment><USER18> Couldn't help but notice that his April entry refers to 'trying out new wilderness recipes', and his next May entry refers to 'a rough time with food poisoning'.

<comment><USER2> Haha, yeah.. But the food poisoning come from some nasty sliced pepper salami I had for dinner. (Can't even think about them..) That was one b a d day..... Luckily a friend of mine did a rescue mission and brought me some coke and salts in the evening.. =)

<comment><USER18> Hah, good to hear it. I've had a similar experience with chorizo... I used to love that wonderful spiced sausage. We are no longer on speaking terms.

Thanks for the post - it's rekindled my interest in spending some time outdoors, though I'll have to wait till the temperature returns to something reasonable.

</comment></comment></comment><comment><USER19> Now my coworkers can't think i'm the weirdest coder ever for moving to Montana...at least i'm in a house!

Also to offer a prospective, while this sort of thing does change ones ability to interact personally I've found that it is also a hugh boost for productivity...I can code for hours, go climb a mountain to clear my mind and then keep coding.

It also seems like Thomas has found a great way to get publicity depending on what his target demographic is.

</comment><comment><USER20> This is really cool and I'm glad to hear of someone doing this. Having the time to learn and work is key. It's hard to make any real progress when you're still trying to maintain a social life and work full time.

An idea: It might be much much easier to simply move to Mexico or Thailand. You could live on around $200-300 USD per month if you made your own food and you'd probably be a lot more comfortable than living in the woods (though I think that's amazing in its own way too).

Does anyone know of any dev boot camps or coworking spaces in the "developing world" that I should check out?

<comment><USER21> Or India. I live in Udaipur and there are many people from US/Europe staying here for months. $300/mo will take care of both food and stay. You can even teach language to make some money. I know a few people who have been living here like this for last 6 years.

<comment><USER20> Thanks!

</comment></comment></comment><comment><USER22> Get out of the building - love it!

Currently doing something similar - not a coder though, I'm living on Rugen Island in Germany. Made my first fire last night (embarrassed to say I'm 32 years old) and it gave me a kind of satisfaction I've not felt for a long time.

Feeling a lot more creative out here - enjoying being reconnected to nature. Spent 3 months in Brooklyn earlier in the year - the contrast is unreal. For me living in the city feels so toxic now. I want to make this a more permanent living arrangement - that's my next goal.

</comment><comment><USER23> I absolutely love this. I'm jealous. I've been thinking about doing this, even if just once per year for 1-2 weeks. Some type of personal code jam, a chance to fully focus on personal projects distraction free.

I just did some research into the solar panels, they look fantastic but they're a little pricey. (~1000$ each) A little more digging gives me the impression that one could fairly easily DIY similar solar panels for considerable less, though obviously at much less quality.

<comment><USER24> Why not just rent a cabin in the woods with 2 weeks vacation time?

</comment></comment><comment><USER25> Just wait for winter, Thomas.

I'm from the south of Sweden and even I wouldn't like to be living in a tent come winter. He better stop coding and start building some proper shelter. ;)

<comment><USER2> As they say "winter is coming".. Yeah, when winter does come it will be hard using the electronics.. We'll see where I'll go then I guess.

</comment></comment><comment><USER26> But what about wi-fi? Even if his thing doesn't require Internet, still, no Stackoverflow?

<comment><USER27> Apparently Swedish forests have 3G coverage.

<comment><USER28> Our 3G and 4G networks is quite good, I've good connection in both of my summer houses - which basically is in the middle of nowhere...

</comment></comment></comment><comment><USER29> The food poisoning reminded me of "Into The Wild"

<comment><USER30> Finally watched that movie on Tuesday night, I loved it, a very interesting story - made we want to get outside more!

<comment><USER31> Beautiful movie and soundtrack. There's two guys that rode a lot of the landmarks of the movie/book on mountain bikes: [http://forums.mtbr.com/passion/mountain-bike-version-into- wi...](http://forums.mtbr.com/passion/mountain-bike-version-into-wild- seriously-422085.html)

</comment></comment></comment><comment><USER32> Damn, I'm jealous... Coding, writing, or doing any sort of work is always better outdoors, on a beach or in a forest.

Sounds like an adventure, and lots of fun. I frequently take long trips through the forest, back-country camping, but we do have bears, mountain lions, and the potential of blizzards in August (and laws that govern what we can and can't do in our wild spaces).

I hope your start-up is a success, and if it isn't, at least you'll have had an adventure and a story to tell (but I hope you success).

</comment><comment><USER33> Good luck! I think it's a great way to live close to nature for a while. Camped once in the forest in Finland near a lake for a week with my gf, eating fresh fish every day and drinking spring water is awesome, can't wait to do it again sometime.

I also lived in a tent in London, in my garden, for 3-4 months (weekdays only) while my house was being renovated and extended - it's fine. I did it until November, in Sweden you'll want to move back indoors a couple of months earlier.

</comment><comment><USER34> This is amazing, but I can only thing of the terrible screen glare issues from working outdoors. Yuck!

<comment><USER2> It is some of a problem. Especially because I must keep display strength to a minimum to save battery. But it works. I use the colorsheme morning (think its part of solarized) in Vim and let the sun hit the screen. And then when the screen gets to hot I move to the shade and use Jellybeans colorsheme.

<comment><USER33> Really wish there were decent ultrabooks with e-ink displays for working in the sun. This is the only commercially available product i've seen - <http://ubuntuforums.org/showthread.php?t=2125333>

</comment></comment></comment><comment><USER35> I wish more startups would spend all of their time out of doors in outdoor offices. I keep wanting an outdoor covered workspace here in Texas, even when it's 100 Farenheit outside. I think offices dull the senses, and separate us from the world.

<comment><USER2> Agree on that. There is some overhead in making food and taking care of the camp but there is also another peace of mind that (we'll see if) could be good for your creativity.

But in either way, I feel very good on the inside now. No stress. Just harmony. Still getting a lot of things done.

<comment><USER15> Everytime I see you reply to this thread, I have to remind myself that you are actually out in the woods right now, probably sitting by that lake as you type the comment.

</comment></comment></comment><comment><USER36> I looked into trying something like this and abandoned the idea after a little research into the power issues and realizing what an ergonomic disaster it would be for me. Props to this guy, though, for following his dream.

</comment><comment><USER37> Maybe he is taking "Lean Startup" a bit too seriously ;-)

But otherwise great idea. I wonder how far into the swedish wilderness their mobile broadband extends and how soon someone is going to rob him of his posessions...

<comment><USER38> There is pretty good countrywide 3G coverage in all Nordic countries. I remember uploading images to Flickr from tens of kilometres from human habitations about six years ago.

Also, these countries are very safe. Hard to imagine somebody coming to your camp to take away a laptop.

</comment></comment><comment><USER39> This is so cool. Someone should set up a startup house that is a giant log cabin in the middle of some remote forest (but with a fiber connection of course). I would totally pay to be there.

</comment><comment><USER40> Awesome, it's a code camp with actual camping!

On a related note, does anyone know if it would even be possible to do something like this in the USA (short of buying a few hundred acres with a lake on it)?

</comment><comment><USER41> Wow this is really exciting. After reading his experience via his posts i feel like at least before i die i wish to experience such thing once for sure.

</comment><comment><USER42> how do you do customer development in a forest, unless all your customers are gorillas and bears.

</comment><comment><USER43> This guy is living my dream.

</comment><comment><USER44> Reminds me of "Doppler" by Erlend Loe :)

<comment><USER45> For the lazy: <http://www.goodreads.com/book/show/1156439.Doppler>

</comment></comment><comment><USER3> A former coworker of mine.</comment>


Psychology of Design: 101 Cognitive Biases and Principles Affecting UX - <AUTHOR> https://growth.design/psychology/ <comment><AUTHOR> "Every time users interact with products, they filter the information, seek the meaning of it, act within a given time, store bits of the interaction in their memories. So to improve your user experience, you need to understand the biases & heuristics affecting those four decision-cycle steps."</comment>


Ask HN: What are your favorite fonts? - <AUTHOR>

<comment><USER2> I'm quite fond of Inconsolata for editing code, and it's free.

<http://levien.com/type/myfonts/inconsolata.html>

</comment><comment><USER3> I like Helvetica.

</comment><comment><USER4> Avant Garde Medium</comment>


Why Can't Microsoft Ship Open Source Software? - <AUTHOR> http://www.codinghorror.com/blog/archives/001144.html

<comment><USER2> NIH is the right attitude for MS. Microsoft makes a subversion clone. If the clone turns out better than subversion then a lot of .NET developers will use it voluntarily. A lot of businesses will start using it because it has the MS logo on it. Result? Microsoft owns a part of the development tool chain - which makes it harder for people to write software on different platforms. Microsoft wins.

And if the clone is worse? Doesn't really matter. Some people will still use it, version 3.0 may be "good enough", and Microsoft will have a new technology to market. Having new products is a goal by itself - the .Net magazines need fresh content to keep their audience captivated. Even vaporware can be very valuable. Microsoft wins again.

Conclusion: cloning popular products is good business for MS.

</comment><comment><USER3> > So if you think Microsoft's particular flavor of source control is > redundant, you'll really hate Diet Cherry Chocolate Dr. Pepper.

ugh i hate analogies. Ryan's main point --which this article didn't address (he talks shipping)-- was that software builds (should build) on previous software. Can dr pepper do that? This analogy is supposed to say there are subtle differences between the products, but that's irrelevant to the original point.

>

>There's simply no reason for MSTest to exist except to satisfy some bizarre corporate directive that Microsoft never ship open source code in their products.

Both you authors could do with an econ class. MS spends tons of money to reinvent subversion because they want to lock you in, thus getting more money to spend reinventing something else to lock you in. This has worked for them so far & it will continue to work in the foreseeable future.

</comment><comment><USER4> Umm, this is a simple answer - they had $51 billion in sales last year and is a publicly traded company.

They have to realistically do whatever is best to protect the interests of their shareholders and as long as their current business model works, I'm sure they're not really going to change it drastically.

Thats the sad reality of it all.

<comment><USER5> _they have to realistically do whatever is best to protect the interests of their shareholders_

I took the article as suggesting that NIH is not in the best interests of their shareholders, as things like MSTest simply frustrate their users.

The debate about whether NIH is good or bad for MSFT is interesting.

</comment></comment><comment><USER6> In Asia, M$ has a real strong support because people think that Linux and other free OSes are for geeks only. And they won't when everyone here thinks that M$ is the `standard' and won't mind locking themselves in it.</comment>


Ask HN: The Next Big One? - <AUTHOR> Apple IPO: 1980
Microsoft IPO: 1986
Amazon IPO: 1997
Google IPO: 2003
Facebook IPO: 2012
What would be your guess for the next big one, and when it goes public? <comment><USER2> Stripe? Not sure if they can become as big as Google though, the payment space is rather well served already (but who knows). I plan to buy some of their shares in any case.

Maybe Starlink? Satellite based Internet access and communication services could be huge and it's a truly global business with so much potential (e.g. Africa has so little bandwidth now and so much economic potential). Right now it's absolutely niche because of the delay and the extremely high cost, but fast and cheap global Internet access via satellite could be a real game changer. Seems like there are many use cases that could benefit from such a service as well, think alone of all the connected devices like cars that need a reliable Internet connection. Plus they are in a good spot since their ties to SpaceX ensure they'll have some of the best access to price-efficient launch capabilities.

<comment><USER3> Starlink for sure

Satellite companies can't even compete with Starlink due to the launch costs.

Elon Musk is a genius. It'll be the ISP of the world. Unrestricted by ground infrastructure. I can only imagine what he's got cooking once starlink is 100% operational.

His plans are massive. Tesla, SpaceX, solar city, the boring company. He's vertically integrating everything that has to do with what's needed for space colonization, but doing it in a way that is benefiting and creating value on Earth.

I'm pretty certain we're a few discoveries away from being able to successfully and efficiently colonize a moon or planet. Once we get a portable fusion reactor, higher density batteries, and the nanotech shrinks enough, we'll be off this planet.

<comment><USER4> What's the point of colonizing planets if we can't change from a growth-based economic paradigm to a sustainability-based economic paradigm? Humans have evolved on the Earth over million/billions of years... we have no shot surviving on other planets unless we learn real top-down sustainability.

<comment><USER3> On earth, you have different countries, regimes, for that to work, we need to have a bunch of wild crazy ass leaders come together and agree on other that corporations are lobbying against to protect their interests.

Starting fresh on a new planet, with a small cohort, and building out frees that society of the current geopolitical related problems on Earth.

</comment></comment></comment></comment><comment><USER5> Alibaba was the biggest tech one recently. I'd expect more Chinese companies to take the scene.

Companies like Huawei are still private, and solidly have FAANG tier revenue. It seems like they're big enough to not have to go public, but there's rumors of it.

Something like TikTok (ByteDance) is able to compete toe to toe with Instagram, product wise. They'd probably be the first serious Facebook competitor.

</comment><comment><USER6> I mean we just had Uber. It's still a $68B company despite somewhat mixed sentiment and performance in the public markets.

</comment><comment><USER7> Well I am going to guess Chinese, and a company I think are doing amazing consumer electronic products with great quality is Xiaomi.

They do not sell their products in US yet, but once they start I think they will be a massive hit!

</comment><comment><USER8> No real answer to such a question because the amount of ideas to come out and industries already at work; Asking for the next big one could likely be impossible.

</comment><comment><USER9> Hashicorp, 2023-2024, ~$20 billion valuation

<comment><USER3> eh that's far from big compared to OP's list.

single company market cap of $1 trillion vs $20 billion -_-

</comment></comment><comment><USER10> Snowflake or Databricks.</comment>


Ask HN: a Shopify app for YC hot startups appareil? - <AUTHOR>

I was just talking on #startups on how HN karma points could be spent on stuff like mugs, t-shirts and other similar stuff, with YC startups branding and thought about the idea of a Shopify store for that, in which karma points could be spent for discounts and part of the revenues would revert to the startups (a % of a brands sales) to help the blokes.<p>What's your opinion? And where could i find information about the required logistics part (getting the items and branding them) ? <comment><AUTHOR> I can implement this (without the karma points feature) if there's enough interest from the startups.

If you're behind a startup and want to engage or create your community of fan's with t-shirts, mugs and other stuff, drop me an e-mail at matrixownsyou at gmail com

</comment><comment><USER2> getting the items and branding them? not difficult, really.

if i'm reading this right, though, you're basically trying to assign a real- life value to karma points, and that will kill this (or any) community.

<comment><AUTHOR> discounts, perhaps to a certain value, but it's not required :)</comment></comment>


Germans on the rise - <AUTHOR> https://www.youtube.com/watch?v=HMQkV5cTuoY <comment><USER2> The beginning of the video references these events: [http://www.dw.com/en/shameful-video-of-mob-blocking-a- refuge...](http://www.dw.com/en/shameful-video-of-mob-blocking-a-refugee-bus- in-germany-sparks-outrage/a-19062019)

I found the reverence for Kant to be really misplaced given his views on women, sex etc. But he's the only philosopher widely known in Germany, and his "Sittengesetz" (moral law) even made it into the German constitution (and was used in 1957 by the German constitutional court to justify the criminalization of males having sex with males).</comment>


Show HN: Why we need a better inbox than Gmail - <AUTHOR> http://blog.boxuno.com/2013/10/why-we-need-better-inbox-than-gmail.html

<comment><USER2> Cool idea. Joined the que.

<comment><AUTHOR> Thanks!</comment></comment>


The Productivity Paradox–Why Doing More Doesn't Get More Done - <AUTHOR> https://www.hellosign.com/blog/productivity-paradox <comment><USER2> this is especially relevant to the software industry. "10x" coders may well just be people who pump the breaks on working long hours and confine themselves to working the number of hours that they can be maximally productive. work less to get more important work done, as it were.

<comment><AUTHOR> Excellent point -- I completely agree. While there are several different types of coders, I think all too often you have that one person on the team that busies themselves to the point of being wholly unproductive. Applying the "10X" tag to those that work more diligently is probably the best use of "10X" I've seen in a while.</comment></comment>


Prophet of the Human-Built World: An Introduction to John Ruskin - <AUTHOR> https://www.cardus.ca/comment/article/prophet-of-the-human-built-world-an-introduction-to-john-ruskin/ <comment><USER2> John Ruskin's "Unto this Last" influenced Gandhi deeply.

</comment><comment><USER3> Towards the end of Ruskin's life, the famous critic wrote a scathing review of a painting by James Whistler (of _" Whistler's Mother"_[1] fame):

 _" For Mr. Whistler's own sake, no less than for the protection of the purchaser, Sir Coutts Lindsay ought not to have admitted works into the gallery in which the ill-educated conceit of the artist so nearly approached the aspect of wilful imposture. I have seen, and heard, much of Cockney impudence before now; but never expected to hear a coxcomb ask two hundred guineas for flinging a pot of paint in the public's face."_

Whistler, who was in dire financial straits at the time, sued Ruskin for libel, saying that his reputation was seriously damaged and asked for 1000 pounds and court costs as compensation.

During the lawsuit, artists, most prominent among them Edward Burne-Jones (one of the greatest artists of the Pre-Raphaelite movement, and a pupil and benefactee of Ruskin's), were brought in to make pronouncements on the worthiness of Whistler's art.

The lawsuit was a rare, perhaps unique, and certainly the most famous example of a trial which hinged on the definition of art.

Ruskin stood for the more traditional view of art as representation of reality, and Whistler for a more modern _" art for art's sake"_ where the artist's sensibilities were more important than how true a representation of reality the artwork was.

Whistler, who had a wit to rival Oscar Wilde, defended his work with dignity, humor, and clever turns of phrase which often drew applause from the audience.

In the end, Whistler won the case, but was awarded only one farthing (1/1000th of a pound) in damages.

Whistler went bankrupt, and remained embittered against Ruskin, publishing acidic pamphlets against art critics and a book called The Gentle Art of Making Enemies[2] which contained a retelling of this case.

Ruskin, whose mental health was already in decline (so much so that the trial had been delayed a year because of it, and who couldn't be present at the trial itself), suffered a nervous breakdown and resigned from his post at Oxford, saying "I cannot hold a Chair from which I have no power of expressing judgment without being taxed for it by British Law".

More about the case can be read here: [3] [4] [5]

[1] - [https://en.wikipedia.org/wiki/Whistler%27s_Mother](https://en.wikipedia.org/wiki/Whistler%27s_Mother)

[2] - [https://en.wikipedia.org/wiki/The_Gentle_Art_of_Making_Enemi...](https://en.wikipedia.org/wiki/The_Gentle_Art_of_Making_Enemies)

[3] - [http://people.loyno.edu/~history/journal/Landry.htm](http://people.loyno.edu/~history/journal/Landry.htm)

[4] - [http://www.victorianweb.org/authors/jamesh/ruskin.whistler.h...](http://www.victorianweb.org/authors/jamesh/ruskin.whistler.html)

[5] - [https://www.artsy.net/article/artsy-editorial-james- abbott-m...](https://www.artsy.net/article/artsy-editorial-james-abbott- mcneill-whistler-sued-harshest-critic-won)</comment>


Cool website startup idea: "How Famous Are You?" - <AUTHOR>

Full text of an idea exposed on the RSS feed for "The Volokh Conspiracy" by David Post, and evidently soon after withdrawn (URL currently is 404, but may reappear later):

   http://volokh.com/2009/11/13/and-speaking-of/
 And Speaking Of ideas for cool websites that I'll never actually go and implement and so therefore I'm happy to give away: I would bet that you could pretty easily work up a "How Famous Are You?" site that lots of people would find pretty irresistible. The idea -- an offshoot of the incredibly popular (among authors) Amazon book rankings, which many authors consult regularly and regarding which any number of websites allowing tracking, comparing, etc. have sprung up -- is this: a comparative ranking of the number of Google "hits" associated with your name, ranked against others famous and not-so-famous. The query

   "David Post" Law Professor
 [including the quotation marks] returns 18,700 hits on Google. (Just David Post without the quotation marks returns 4.1 million hits -- but of course lots and lots of those have absolutely nothing to do with me (there are lots of davids out there, and lots of uses of the word "post" . . . the use of the name in quotes, and an identifying label (law professor) is just a quick-and-dirty way to try to be sure that the hits are "true"; I suspect there are better ways to do this, but that's the kind of implementation question I happily leave to others . . . ).
Not bad, I suppose -- here, for comparison, are a few searches I just ran:

   "Frankie Lymon" singer 87,900
   "Eugene Volokh" Law professor 33,700
   "Joey Buttafuoco" 77,600
   "Elio Chacon" baseball player 1,910
   "Richard Wagner" composer 584,000
   "Yuri Gagarin" astronaut 91,000
 The site could be "seeded" with a couple hundred searches like that. Then, each visitor would put enter his name and identifier, and the results displayed against all the other results and added to the list -- one of the conditions of using the site would have to be that visitors allow the site to display their results in the overall tabulation, so that the list would be growing (and especially at the low end) all the time. Provisions for updating searches, etc. could all be added.
I have a feeling it could work, and could become a pretty interesting site -- and nobody ever lost money betting on peoples' vanity . . . <comment><USER2> Not a bad idea... If the side would give you a badge to embed on your web site, that says "key influencer", it could spread.

Actually, a bunch of sites do this for twitter specifically, but extending it with a bunch of categories, so that it would show that I'm famous in the bay area, less so in the midwest, and popular among geeks. That could be fun. (must have been done before though?)</comment>


Example of a good YC application video: Directed Edge - <AUTHOR> http://scott-oviwe.posterous.com/private/wIYDQvTIRI <comment><AUTHOR> I encouraged Scott to let people see this, to show that it's better to just sit down and start talking than to spend a lot of time trying to make something carefully scripted.

<comment><USER2> Thanks!

Any chance you'd be willing to mention what it was you liked about their video?

I think the video part might be one of the more challenging parts of the application, partly because of the 1 minute time limit, and partly because it's supposed to be unscripted and off-the-cuff but the applicants still need to describe what they're doing, which takes some preparation.

<comment><USER3> One of the great lessons I learned in college is that it is very difficult to fake skill. Indeed, skilled people have better long-term memories for domain information, encode domain-related information more efficiently. Similarly, skilled people are able to better deal with distracting tasks while still maintaining their train of thought in the domain-related area.

That being said, through the offhand way they impart information, it is clear that they have a significant degree of skill in their domain. (Short lookup times, unaffected by distraction). Moreover, their body language was not urgent or desperate. I have a sneaking suspicion that getting VC is like dating; the needy don't get fed.

So my advice to you: spend more time cultivating expertise in your field. This has multiple benefits: 1) you're more likely to actually succeed, and may be able to avoid having to take (YC) funding altogether; 2) you'll be able to talk offhand more easily about your startup.

<comment><USER2> Good point, but our problem is mostly that the startup involves several different applications and has to solve problems in a several different spaces.

We've got pretty solid expertise in all of the necessary fields, it's just a matter of getting the entire project described without forgetting anything important.

<comment><USER4> I think that might indicate a fundamental issue with what you're doing with your business.

One of the biggest rules in business, and even more importantly startups, is FOCUS. While your technology/process may apply to many different areas and industries, you realistically can't tackle and market to them all. Therefore you need to focus the process/technology into one area/industry and there should be an easy to understand compelling case on why it makes life better and easier.

There's a reason why you're only given 1 minute.

</comment></comment></comment></comment></comment><comment><USER5> Wow, haven't seen that one in a while, feels like years ago. We actually tried a couple takes until we stopped caring and just wanted to get it done and have the application sent.

</comment><comment><USER6> The first 30 seconds reminded me of beavis and butthead. It turns around after that for the better.

<comment><USER7> I was thinking more "I'm Bill S Preston Esquire" "and I'm Ted Theodore Logan" "and we're DIRECTED EDGE!"

</comment></comment><comment><USER8> Which of these points was a selling point:

      -Building a recommendation engine.
      -Started with general approach, now focused on e-commerce
      -Cheap/easy alternative to expensive/hard "enterprise" option.
      (the easy integration part is 'the next step)
      -Amazon drives 25% ($5bn) of sales via recommendation.
       They want to bring this to the masses.
      -Identified: 75% of sites don't have a recommendations,
       50% have identified it as something to get.
      -Already capable of 100s of recommendations per second

I guess this doesn't work without the application to fill in the gaps. I felt that the application was missing an explanation why this recommendation engine is good or how it works.

</comment><comment><USER9> It was delightfully playful, yet very concise and informative, which is how I imagined it would be based upon the writeup posted yesterday.

I wonder if this will be a catalyst for people to be more informal with their videos, just speaking freely about what they are trying to do.

<comment><USER10> I think it depends on who you are pitching to. The YC founders are from the startup culture themselves so I think that by itself allows them to recognize others that have something on the ball, no formality necessary. When you're good you don't have to "act" smart; it will come across if you just be yourself, and I think that video illustrates that.

</comment></comment><comment><USER11> Like apgwoz said, the first 30 seconds are not very good at all, but things get better after that. But even then, the best things in the video would have been in the written application, too. I'm not sure how useful this video really was to YC other than as a basic filter, as in, "Hey, these people were willing to make a video and talk about their product, and they say at least a few things that make some sense. It's fine to bring them in for an interview."

</comment><comment><USER12> Cranking up the volume on my MacBook I could barely make out every other word. That and the crappy 8fps + terrible lighting was a big turn off. Putting in the tiniest effort to production value goes a long way and shows you care a lot about what you're talking about!

<comment><USER13> What you're saying is no doubt true for a general audience, but that's not what this is for. You may be forgetting that a lot of hackers haven't the slightest idea about (or interest in) "production value", so it would be very much the wrong thing to optimize for. In fact, I wouldn't be surprised if making a slick video backfired.

<comment><USER14> I think all he's saying is "make sure you have good lighting and can be heard clearly." Good production values doesn't have to mean high budget or slick.

<comment><USER13> Yeah, but this video _succeeded_. Therefore, its "production values" were just fine. How good the video is, qua video, is irrelevant. Talk about a bicycle shed!

I'm beating this dead horse because I know that a lot of great hackers would feel intimidated about having to make a video of themselves, and it would be a pity if that dissuaded anyone from applying. Of course YC have already made all this clear.

It's better, in fact, that the OP had low "production values" because it shows that there isn't much of a barrier to entry here.

</comment></comment></comment></comment><comment><USER15> Interesting...

I can still remember that I talked to one of the founder guys of directed edge at a party at the web 2.0 conference in Berlin last year, and he was like "ooh, you are one of the few here having an interesting project".

His project wasn't uninteresting as well ;). Good luck!

</comment><comment><USER16> Heh sounded very rambly. I'm kinda happy that this is all it takes.

<comment><USER17> Rambly while still communicating:

       + the problem
       + market size
       + distribution
       + salient features

I'll take this 2 minutes over most of the TC50 demos.

<comment><USER16> Agreed it had substance. Rambling wasn't a criticism it's just an actual demonstration of the fact that YC aren't measuring pitch ability but simply enthusiasm + domain knowledge. Passionate, Smart and Gets Things Done seems to be the key, and the fact that they are willing to release this "prototype pitch" so early is probably a good sign for the kind of startup YC wants (release early, innovate).

</comment></comment></comment><comment><USER18> That's hosted as a Posterous private post. One of the founders in the video should probably claim that account now that the post isn't really private anymore.

<comment><USER19> If there's a real reason to do that, I don't really understand it. I don't use Posterous; we just sent the video there since that's what the application asked for.</comment></comment>


4 Things I Hate about the Internet - <AUTHOR> http://www.michaelharrison.ws/weblog/?p=37

<comment><USER2> I was expecting one of the four things to be myspace

<comment><USER3> Why do you hate it? It would be better to monetize it somehow.

</comment></comment><comment><AUTHOR> MySpace? What's that?

;-)</comment>


C++ Internals: STL Vector, Part I - <AUTHOR> http://www.gahcep.com/cpp-internals-stl-vector-part-1/ <comment><USER2> The other entires on the author's blog are also quite nice, I enjoyed his bit on the C implementation of Python. [1]

Does anyone know of other resources that describe the implementation details of higher level languages (Python, Ruby, or otherwise?). It is quite fun to learn what happens under the hood.

[1] [http://www.gahcep.com/python-internals- pyobject/](http://www.gahcep.com/python-internals-pyobject/)

<comment><USER3> <plug> since you asked :) A bunch of posts on this topic I wrote a while back - [http://eli.thegreenplace.net/tag/python- internals](http://eli.thegreenplace.net/tag/python-internals) </plug>

<comment><USER4> If you do a kickstarter to blog / write books fulltime, count me in. I have learned so much from your blog.

</comment></comment></comment><comment><USER5> The C++ STL vector, as is, has some limitations:

\- As far as I know, it requires two calls to the allocator (one for the instance, and another for the resizable buffer).

\- Even if allocated in the stack, unless you use a different allocator, the buffer is allocated in the heap.

If you do lots of operations per second, it makes the memory allocation functions, e.g. malloc(), suffer (depending on allocator algorithmic complexity, it could be a bottleneck).

P.S. an implementation of vector type for C, using dynamic size arrays, with only one allocation per container, using also geometric growing, and supporting both stack and heap allocation: [https://github.com/faragon/libsrt/blob/master/src/svector.h](https://github.com/faragon/libsrt/blob/master/src/svector.h)

<comment><USER6> One allocation per resizable container means that the identity of the container may have to change when it grows.

We see that in the API: functions return a new vector, which the caller must capture (and at the same time forget about the vector pointer that was passed in and all copies thereof, to avoid a use-after-free error).

That captured vector must be stored somewhere, such as in a stack variable or a member variable of an object.

That storage location itself must be allocated.

Hence, effectively, two allocations.

The memory management is manual: if you leave a scope without freeing all the "sv" vectors (by any means, including longjmp: your poor man's exception handling in C) you have a leak.

       {
         std::vector<int> stdvi;  // stack for "stdvi" + heap for buffer
       }
       // heap object deallocated

       {
         sv_t *sv =                      // stack for "sv"
               sv_alloc(sizeof int, 42); // heap for buffer
       }
       // heap object leaked

If a C++ programmer were to use this "sv", he or she would likely wrap it in an inline template class which manages the ownership of the buffer to prevent leaks and perhaps facilitate sharing. And that would just re-create std::vector basically. This template class would add next to zero overhead.

<comment><USER5> Thank you very much for taking a look into the code :-D

Regarding identity, you can use double pointers.

In the case of willing to eliminate leakage risks (or speed-up the operation, avoiding calling the heap allocator), you can use stack allocation (using sv_alloca instead of sv_alloc), with implicit free, e.g.

{

         sv_t *a = sv_alloca_t(SV_INT32, 42);
         sv_t *b = sv_alloca_t(SV_INT32, 42);
         sv_t *c = sv_alloca(sizeof(struct mystruct), 42);

         struct mystruct { int r, s; }
                        y = { 1, 2 }, z = { 3, 4 };

         sv_push_i(&a, 0);
         sv_push_i(b, 1); sv_push_i(b, 2); sv_push_i(b, 3);
         sv_cat(&a, b);
         sv_cat(&a, a, b);

         sv_push(&c, &y, &z, &y, &z, &y, &z);
         sv_cat(&c, c);

         /* implicit free */

}

Also, please note that is a C library, so the only "RAII"-like implicit freeing is only possible using stack allocation (or compiler-specific stack cleanup callbacks). In my opinion is not worth it to encapsulate it for C++, as for C++ the STL library is already very good for most cases.

With heap allocation (you could mix both):

{

         /* Using the heap, you can start with size 0,
          * the vector will grow automatically:
          */

         sv_t *a = sv_alloc_t(SV_INT32, 0);
         sv_t *b = sv_alloc_t(SV_INT32, 0);
         sv_t *c = sv_alloc(sizeof(struct mystruct), 0);

         struct mystruct { int r, s; }
                        y = { 1, 2 }, z = { 3, 4 };

         sv_push_i(&a, 0);
         sv_push_i(b, 1); sv_push_i(b, 2); sv_push_i(b, 3);
         sv_cat(&a, b);
         sv_cat(&a, a, b);

         sv_push(&c, &y, &z, &y, &z, &y, &z);
         sv_cat(&c, c);

         /* explicit free */

         sv_free(&a, &b, &c);

    }

</comment></comment></comment><comment><USER7> This site hijacks my scrolling and it has become somewhat of an exercise to scroll up.

<comment><USER8> Totally messes my scrolling when using Apple Magic Trackpad on Windows.

</comment></comment><comment><USER9> > auto main(int argc, char __argv) - > int

What a horrible abuse of C++11 auto function declarations.

<comment><USER10> It's new but is it really bad? It allows for more uniform code if you're using the new style for decltypes anyway. If I would make heavy use of that construct I would certainly prefer the definition used in the article.

<comment><USER11> > It's new but is it really bad?

My opinion - yes. I never imagined typing out type names was a hassle when using an IDE like Visual Studio. I know a number of people use it religiously - but when I read code I find it easier to read C++ with types than the auto keyword everywhere. But I'm sure a number of people still use vi (or emacs), and even smaller number of those people use gdb or some other debugger.

Apparently Linus doesn't use a debugger [1]. I have some comments on that - but I'll keep them to myself.

[1] [http://www.linuxtoday.com/infrastructure/2000090700221OSCYKN](http://www.linuxtoday.com/infrastructure/2000090700221OSCYKN)

<comment><AUTHOR> Quoting Herb Sutter, "AAA Style (Almost Always Auto)":

"Guideline: Remember that preferring auto variables is motivated primarily by correctness, performance, maintainability, and robustness—and only lastly about typing convenience." [1]

[http://herbsutter.com/2013/08/12/gotw-94-solution-aaa- style-...](http://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost- always-auto/)

<comment><USER12> auto variables are different from trailing return types introduced by auto (a particularly egregious appropriation of a keyword for a totally different use).

<comment><USER13> > a particularly egregious appropriation of a keyword for a totally different > use

Which seems to be an often case in C++, class and class/typename comes to my mind. Also, old auto use was removed to the new set of meaning right?

<comment><USER12> Old auto was completely removed.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> _But why it can 't? Assume that such an operation (alocate new adjacent memory cell without worrying about other elements) could indeed be performed by the vector. How in that case does it know whether or not the next adjacent memory cell is free and was not just occupied by another processor long time ago? There is no way (or they are too way hard and unrealistic) for vector to do that properly. Thus no choice left, vector has to reallocate the place for all items it already has plus additional one._

Isn't it what realloc is for?

<comment><USER15> For std::vector<int>, realloc would be fine. But you wouldn't want std::vector<std::string> to use realloc.

<comment><USER14> My first reaction when I've read your comment was that it has to be because of sub-strings but as std::vector allocates memory again anyway that can't be too important. Can you elaborate a bit? I am not a C++ programmer but I am sometimes curious so maybe I am missing something obvious.

<comment><USER16> I wad confused too but looking at the definition of realloc, it will sometimes allocate adjacent memory and sometimes allocate new memory and perform a move. In which case copying the std::string values might not be valid.

<comment><USER14> Well, but std::vector always performs a move so any pointers to sub-strings won't be valid anyway from what I understand. I am probably just not getting something but it really seems like it should just use realloc. Maybe it has something to do with thread safety though as I don't think there are any guarantees for realloc.

</comment></comment></comment></comment></comment><comment><USER17> Why doesn't the reserve() function also perform a shrink_to_fit() implicitly? Or does it?

<comment><USER5> Because "shrink_to_fit" involves calling a "realloc"-like function ("realloc" with a lower value is the best way for returning unused memory back to the system when you have a buffer with too much memory allocated for it), that could be "expensive" -if doing that many times in a period of time- (even with modern realloc implementations using virtual memory remap stuff).

P.S. you can find a human-readable "reserve"/"grow" (with geometric heuristic grow)/"shrink_to_fit" vector implementation for C (similar idea to the C++ counterpart, except for using just one allocation, instead of 2 -one for the instance, and another for the buffer-): [https://github.com/faragon/libsrt/blob/master/src/sdata.c](https://github.com/faragon/libsrt/blob/master/src/sdata.c)</comment></comment>


I made an actual drum machine in Excel [video] - <AUTHOR> https://www.youtube.com/watch?v=To2JIXGoYzA&feature=youtu.be <comment><USER2> Excel is the best, maybe the only truly great, piece of software ever written.</comment>


20 Jokes That Only Intellectuals Will Understand - <AUTHOR> http://m.tickld.com/x/20-jokes-that-only-intellectuals-will-understand

<comment><USER2> If we define intellectual as "paid attention in high school" then yes only intellectuals will get them. The majority of that is basic knowledge.

</comment><comment><USER3> Honestly speaking, most of the jokes were pretty straight forward, and I am no genius or intellectual.

<comment><USER4> I agree that most were pretty straight forward, but they were pretty funny. I especially loved joke 14.</comment></comment>


Data Infrastructure at IFTTT - <AUTHOR> http://engineering.ifttt.com/data/2015/10/14/data-infrastructure/ <comment><USER2> > Lastly, in order to help monitor the behavior of the hundreds of partner > APIs that IFTTT connects to, we collect information about the API requests > that our workers make when running Recipes. This includes metrics such as > response time and HTTP status codes, and it all gets funneled into our Kafka > cluster.

> This way if you query Elasticsearch to find all API errors in the last hour, > it can find the answer by looking at a single index, increasing efficiency.

This is a really good way to know if third party APIs are having problems. Staying up to date with all those APIs they support must take up significant amount of engineering effort. Many APIs are just second-class citizens for their product owners. Bugs are introduced, changes are made without announcements, and even if there are announcements when you're dealing with so many different APIs it's hard work keeping track of them all and making changes in your app to keep it running especially when APIs are turned off, or schema changes are happening. This seems to be the hard problem IFTTT is solving, integrating into APIs.

I'd shy away from starting a project that involves so many other companies APIs just because of how hard of a problem that is to manage, but IFTTT is doing a great job here.

<comment><USER3> I used to work at IFTTT and this exact set of problems is why I left to start a company. Pretty much everything I've done in the intervening years has stemmed from exactly what you describe. It's great to see the IFTTT team tackle this stuff head on.

</comment></comment><comment><USER4> To the author (or anyone else with experience): Any insight on why you guys chose Kafka + Secor over Kinesis?

<comment><USER5> I worked with Anuj at LinkedIn, so I'm thinking the most pedestrian answer is that Kafka works, and it's a familiar tool.

<comment><USER6> Thank you Jonathan!

As Jonathan mentioned, we made this decision around 9 months back and at that time Kinesis wasn't as mature and had less flexibility around retention period etc.

Kafka is very reliable (as I had seen it handling billions of events a day at LinkedIn) and has a huge open-source community around it. At IFTTT, we always prefer to use and contribute to open source ( [http://engineering.ifttt.com/oss/2015/07/23/open- source/](http://engineering.ifttt.com/oss/2015/07/23/open-source/) ).

<comment><USER7> I'm assuming that you run Kafka within AWS. Much of the hardware requirements/suggestions I've seen for Kafka are all for non-virtualized environments. If you can get into it, could you share some details...

\- What is the size of your Kafka cluster

\- What instances types do you use?

\- Do you use EBS or use ephemeral storage?

\- How much do you over-provision to deal with instance loss?

\- Any other gotchas/considerations?

Thanks!

</comment></comment></comment></comment><comment><USER8> Anyone have an idea why they would use MySQL over PostgreSQL?

<comment><USER9> The usual reason is having more experience with MySQL than PostgreSQL.

</comment></comment><comment><USER10> > In order to fully trust your data, it is important to have few automatic > data verification steps in the flow.

Is this a typo? Did they mean 'a few'?

<comment><USER6> We have fixed it! Thank you!

</comment></comment><comment><USER11> How do you feel about the data being delayed, sometimes 1 day? Why not stream the data in realtime to the kafka cluster?

<comment><USER6> Whatever data we need in realtime, we do stream it to the Kafka cluster.

We don't do it for the production database because we don't need it in realtime.

</comment></comment><comment><USER12> Original link: [http://engineering.ifttt.com/data/2015/10/14/data- infrastruc...](http://engineering.ifttt.com/data/2015/10/14/data- infrastructure/)

Can a moderator such as dang fix this please?

<comment><USER13> He is probably just syndicating this to medium with the new api's introduced.

<comment><USER14> To hijack your tongue-in-cheek comment...I genuinely would appreciate it if someone, at some point, looked at analytics before and after syndicating to Medium to not just compare number of visitors between the original blog and Medium, but whether PageRank for the original blog dropped due to duplication penalties applied by Google's algorithm.

<comment><USER15> It's worth nothing that Medium described this syndication workflow as an expected use case during the announcement.

I don't think they would have done that if there was a knowing SEO downside. It would hurt everyone.

<comment><USER14> I want to take them at their word...but it's more up to Google, isn't it? And doesn't Google still rely (in part) on the canonical meta tag to resolve duplicates? Currently, the posted Medium post has this:

          <link rel="canonical" href="https://medium.com/engineering-at-ifttt/data-infrastructure-at-ifttt-35414841f9b5">

It would be relatively easy for Medium to appropriately set that tag -- I mean, if "original URL" is captured somewhere in the API, or in the Medium post-create-admin interface (I don't know, I haven't logged into my own Medium for awhile)...that would explicitly resolve the ambiguity, though at an obvious cost to their own SEO.

</comment></comment></comment></comment></comment><comment><USER16> If you're using ECS to manage your clusters on AWS take a look at Convox. We're building an open source platform that makes building, versioning, and deploying code to AWS via ECS incredibly easy.

[https://convox.com](https://convox.com)</comment>


Why Dart Types Are Optional and Unsound - <AUTHOR> http://www.dartlang.org/articles/why-dart-types/ <comment><USER2> Also, writing this:

        > We don't want Dart to be a testbed for active programming
        > languages research, but I think we're open to taking up
        > ideas after they become well understood and unsurprising,
        > a.k.a. a little bit boring.

... after saying this in the first paragraph:

        > Dart uses types in a way that might seem strange. Most
        > popular languages that offer a type system use it very
        > differently. If you're familiar with types in Java, Haskell,
        > Scala, or any statically typed language, you may wonder
        > why on earth Dart makes the choices that it does.

... makes me wonder why on earth Dart makes the type system choices that it does ;)

<comment><USER3> That's a good point to make. Miguel de Icaza has said that after taking a brief look at Dart he thought it was pretty academic. Maybe he was refering to more than the optional typing that Dart makes use of. The truth though is that Dart is in some ways experimental while folks such as Miguel are sitting on already established tech in c#. They aren't going to welcome potential competitors.

</comment></comment><comment><USER4> _Don't you want strong typing for better performance?_ _That's what I thought, too. The VM designers say that in practice, type guarantees really don't help them nearly as much as you might think, because type checks are not a major drain on performance._

No, but you can generate better code if you know _exactly_ what types you're playing with ahead of time.

Say you have a function like this:

        void foo(SomeClass obj) {
            obj.bar();
        }

That could be compiled to just a straight 'jmp SomeClass::bar', whether you're compiling natively or to a VM.

If you don't have static types, the best code you can output is something along the lines of this:

        fn = lookup(obj, "bar")
        jmp fn

Of course there are tricks that you can use to optimize this second case a bit that involve fancy static analysis, fancy JIT business, etc. but the point is that you will _never_ generate better code than just a single jump to the right code, based on the types you know at compile time in a static language.

<comment><USER5> In any sensible OO language (i.e. not C++) all method calls will be virtual, so there is always some sort of dynamic lookup involved.

<comment><USER6> In C# you have to specify that a method is virtual if you want people to be able to override it. This makes it clear where you expect people to insert their changes, allows you to design extra safety into those points, and makes the code faster.

</comment></comment></comment><comment><USER2>
        > Correctness is easier to achieve for a VM that doesn't
        > rely on static soundness guarantees, because you don't
        > need the complexity of bytecode verification.

I don't follow. You only need to verify bytecode if a), you have bytecode in the first place, and b), you assume the existence of a hostile compiler or other external bytecode source. Neither of these apply to Dart.

<comment><USER3> Maybe with static typing and bytecodes the author was meaning lower level and hence riskier stuff. Not that Dart was lower level.

By being higher level Dart can work from a subset, keeping the surface area smaller as a result.

</comment></comment><comment><USER7> So what do types and type annotations actually _do_ in Dart? I may have missed something obvious, but it looks like all the code samples given in the article will all pass static verification. Can someone give me an example of a code error that Dart will catch statically at compile time? My biggest confusion about Dart's type system (or at least its static one) is that it simply doesn't seem to do very much, so I wonder why it exists at all.

<comment><USER3> Hehe. I guess Dart users are troubled by it as well because the way it works is surprising based on our previous experiences. Basically you can run the program in checked mode so you do get more feedback from the usage of the types. But checked mode is meant for development as it isn't as optimized as in other languages. We need to recall that Dart gets translated into JavaScript and adding type checks and stuff to all the code required puts an extra burden on it that can be hard to justify.

All in all, you should run in checked mode for more feedback. The idea is that you get warnings when stuff is bad. When stuff is super bad you get runtime exception.

Dart is optimist and will give you warnings and let your code run until it cannot.

<comment><USER8> I certainly agree that the translated JavaScript shouldn't need to enforce types in any way, unless Dart provides some kind of "downcasting" mechanism to give something a type it doesn't already have. However, that only applies if the Dart compiler doesn't statically enforce the types when compiling the code to JavaScript.

For one example: Haskell's strong static types all go away when you compile; the generated code does not do any type enforcement or verification.

The biggest thing I hoped the article would talk about got shot down in the very first section, which just said "Dart is dynamically typed" and explicitly dismissed any need to justify that, other than by saying "Users of dynamically typed languages ... will understand why we chose this".

I honestly can't even begin to understand why people consider dynamic typing a feature; when I saw the headline I hoped to see an interesting justification, but instead I saw it taken as a given and then used to justify many other things. I agree that almost all of those things do follow naturally from the assumption of dynamic typing, but I'd still like to know the rationale for that assumption.

The only justification I've ever seen for dynamic typing amounted to "because I like duck typing". However, a static type system can trivially enforce duck typing.

</comment></comment></comment><comment><USER9> Pragmatically, typing is for tooling first, catching errors second, soundness a distant third.

My tastes run towards a C#-like language ( _cough_ Gosu): statically typed with inference, simple generics (covariance), proper function types to fill in most of the covariant holes, and a dynamic type escape hatch, just in case.

But of course they would.

</comment><comment><USER10>
      mammal = cow;      // [1]
      pig = mammal;      // [2] Checks OK statically, but now pig holds a Cow.
      print(pig.oink()); // [3] NoSuchMethodException if we get this far.

As far as I understand this means that no precondition can be encoded in the variable type. A function with a Pig argument can still cause a NoSuchMethodException exception because the argument can actually hold a Cow instance.

<comment><USER11> You still have a precondition encoded in the parameter type. It's just a precondition for the programmer to see and understand, rather than one for the machine to rigorously enforce.

</comment></comment><comment><USER12> >> Don't you want strong typing for better performance?

> That's what I thought, too. The VM designers say that in practice, type > guarantees really don't help them nearly as much as you might think, because > type checks are not a major drain on performance.

If this is the case, what is supposed to make Dart faster than JavaScript? It sounds like they will end up around the same speed.

<comment><USER2> The main difference that _may_ allow Dart to run faster than JavaScript isn't type checks, but objects having static shape at runtime.

In JavaScript, I can write this:

        var dog = new Animal();
        dog.name = "Fido";

... adding a new field to the "dog" object, even though other objects of the same class may have no such field. Objects that share common sets of fields are the famous "hidden classes" that V8 is able to optimize.

You can't write the above example in Dart. Dart doesn't have to work as hard as V8 to discover and cache hidden classes, because the shape of an object is statically fixed to be the same as its class.

<comment><USER12> Yes, but how much of a slowdown is it to manage hidden classes? Furthermore, in the most performance sensitive code, you might not even have classes at all, just raw calculations (for example on typed arrays), which Dart will be no faster than JS at.

<comment><USER13> If you know the shape you can reduce attribute access to an array lookup, if you don't attribute access requires a hash table lookup. That is a problem for performance and memory consumption.

<comment><USER12> Sure, but again, (1) JS engines can and do infer the shape at runtime using hidden classes, and they also get array lookups that way (and not hash table lookups), and (2) I suspect these lookups are not even on the critical path of typical performance-intensive code, but that's speculation of course.

</comment></comment></comment></comment></comment><comment><USER14> One thing I don't get (not knowing much about type theory, and only having implemented a toy C++ subset compiler in a university class once):

Take a dynamically typed language, say, Python:

a = 1

a = "foo"

What disadvantage would you have if the language used type inference to set __a __to a static type of int when it encountered it?

a = 1

a = "foo" # compile/interpretation time error, "a is an int"

1) You get the speed/optimizations + tooling of static typing. 2) You get the dynamic typing benefit of not messing with type definitions etc.

Do people really do stuff like changing the type of a variable in normal Python use, anyway? Usually when I set something to something, I keep it in the same type.

Is there a disadvantage, besides having to initialize every variable upfront? Polymorphism/Generics are orthogonal to this, no?

Are there any languages that do it this way?

<comment><USER13> Type Inference only works nicely if your have static and strong types. Heterogenous data structures are non-trivial in such a language, duck typing doesn't work anymore etc.

In other words people do use these features, they use these features a lot and that is not a problem. You are just using an overly trivial example in which you make assumptions without considering all the consequences.

<comment><USER14> """Heterogenous data structures are non-trivial in such a language"""

Why would they be? You just need a common parent type, like object, or something like Objective-C's "id" type, to indicate that a structure/method can accept any type.

So:

a = 1 # int

b = "foo" # string

c = Cat() # cat object

d = Singer() #singer object

you could have a built-in, say list, structure:

mylist = [a, b, c]; mylist.append(d)

or

myadt = CustomDataType()

myadt.add(c); myadt.add(d);

"""duck typing doesn't work anymore etc."""

Wikipedia: "duck typing is a style of dynamic typing in which an object's current set of methods and properties determines the valid semantics, rather than its inheritance from a particular class or implementation of a specific interface".

So, why would duck typing not work? Duck typing is about the ability to call methods on any type that implements them. It's irrelevant if the type is static, not? Say:

foreach item in myadt: item.sound()

Cat and Singer could be from totally different objects hierarchies, and the compiler/language would know that both implement "sound()" and let you call it.

If an object on myadt doesn't implement sound() you get a runtime error.

"""You are just using an overly trivial example in which you make assumptions without considering all the consequences."""

Emm, the whole point of my comment was in me EXPLICITLY ASKING for possible consequences. Which you kinda missed, judging by this statement.

</comment></comment></comment><comment><USER15> Yet another Dart post making no sense at all.</comment>


Chrome 71 will block any and all ads on sites with "abusive experiences" - <AUTHOR> https://arstechnica.com/gadgets/2018/11/chrome-71-will-block-any-and-all-ads-on-sites-with-abusive-experiences/ <comment><USER3> We all know the types of ads that Google is saying they are going to block here - and good riddance. I really wish I knew of some study - but, my personal theory is that roughly 100% of those ads are trying to sell some scam or download some virus. It's really hard to imagine a legitimate company that sends users ads with fake close buttons, pop ups, redirects, fake mouse pointers, etc and after the user trudges through all of that they end up at a page advertising 10% of garden shears at the local hardware store.

Yes - Google sells ads. Yes - Google, apparently, now blocks ads. Yes - <USER2> sounds troubling. And it sure will be troubling is if it turns out that they are blocking legitimate Ad Words competitors. But, these aren't really ads by any reasonable definition: these are overwhelmingly anti-user malware scam garbage. In my opinion, it's pretty troubling if a super profitable company like Google has the ability to make such a user-positive change and _doesn't_ do so.

Maybe its step 1 down a slippery slope to actual bad behavior. But, let's get worked up about that when there is some actual evidence of bad behavior - it's not like there won't be plenty of people interested in trying to keep tabs on what Google is doing here.

<comment><USER4> When you search for certain pieces of free software to download on Google search, their own ads on those pages often direct you to malware-laden or otherwise unofficial sources for those downloads. One wonders whether these scams will be blocked by Google's new approach to ad-blocking.

<comment><USER3> I'm not sure what you are getting at. If it turns out that Chrome doesn't block these ads, and there is some sort of reasonable evidence that it's due to some sort of intentional functionality to exclude them, I'd agree that would be a big, big problem. But, if some number of them manage to get through the ad blocking, another reasonable explanation would be that Chrome's feature just isn't as good as it could be and isn't by itself evidence of some conspiracy.

Regardless, it's all speculation about something that hasn't happened yet. It's reasonable to talk about these issues - and hopefully some group goes further than speculating and actively monitors the situation. But, until there is some evidence that Google is misbehaving, what has been announced is that Google is going to try to provide a feature that will actively help users - and I hope they are successful at doing that.

<comment><USER5> Well, I for one am quite confident they will show small pubs the same leniency they will no doubt grant to goggle.com. right?

<comment><USER3> There is a pretty big difference between a legitimate ad and what Google is saying they are targeting here. We can't be sure if Google will end up targeting other ad companies in inappropriate ways - but we can remain vigilant. However, whats actually been announced here is that they are going after garbage ads that in my anecdotal experience, are basically 100% malware / scams and its a complete fallacy to say that Google should not do something good (shut down that garbage) because they _might_ later do something bad (which they could do regardless of if they shut down that garbage).

I'd challenge anyone to provide even anecdotal experience of encountering an ad that meets their stated guidelines for being an abusive ad (linked by Yver at: [https://support.google.com/webtools/answer/7347327](https://support.google.com/webtools/answer/7347327)) that isn't a scam / malware.

<comment><USER5> You clearly don't understand what google is proposing at all.

They are going to block all ads on a _PUBLISHER_ which shows any of their list of bad ads. This has nothing to do with ad companies.

My point is that google has -- including relatively recently! -- quite proudly run the ads they label as bad ads, which now trigger blocking of all ads on the site, on google.com. And there will be future instances of malware ads on google.com. See: malware and unwanted software, particularly for downloads such as vlc or flash.

So when a publisher has a stray bad ad on their site -- an no one is disputing these ads are bad -- google is going to screw them. When google doesn't blacklist scam software install ads, or whatever slips through their filters, well, what can you do? No chance chrome blocks all ads on google.

</comment></comment></comment></comment></comment></comment><comment><USER6> Google has a conflict of interest here given that they sell advertising themselves, so a single company policing ads is definitely suspect. I'd prefer to see decisions like these made by a group of interested parties/companies rather than Google alone.

<comment><USER7> Among other features DuckDuckGo's extension blocks third-party trackers on a website (duckduckgo.com/app) and gives each site a privacy grade.

Unlike other vendors, there is no pay-to-play option.

We aim to take a principled rules based approach to blocking and raising the standard of trust online.

(Disclaimer: DDG employee)

<comment><USER8> I'm using DDG Browser to weeks after recently giving up on Brave. The DDG browser is nice and all but not as well designed as FOSS Browser (available on F-Droid). Thanks for offering a popular alternative though.

<comment><USER9> Why did you give up on Brave? I find Brave a good option on Android with all the privacy options built in. What am I missing?

</comment></comment></comment></comment><comment><USER10> Chrome 88 will require you to do three "I am not a robot" verifications every time you visit a site.

<comment><USER11> ...unless you are signed into a Google account and have history sync enabled

<comment><USER10> Chrome 90 now saves incognito history to google servers, the config option to disable this has been removed.

<comment><USER12> This tradeoff was definitely worth preventing bots from using Google Search, something that affects us all deeply on so many levels.

</comment></comment></comment></comment><comment><USER13> Google's Web Tools Help's definition of what constitutes an "Abusive experience": [https://support.google.com/webtools/answer/7347327](https://support.google.com/webtools/answer/7347327)

</comment><comment><USER14> Google's hostile takeover of the web continues unabated.

<comment><USER15> Eh, I'm all for this one. I don't use Chrome (I prefer Safari on my Mac), but I think it's a reasonable response to increasingly terrible, malware-spewing ads.

</comment></comment><comment><USER16> Good. The layman isn't capable of seeing the difference between fake error messages and real ones.

<comment><USER17> That's being generous: if I'm tired I may not notice an error message is fake.

The typical tell I look for: is this window right for my OS? (Windows dialog on Android) Is the version right? (XP styled dialog) Can I tell which window it can from? (Move browser to sanity check where I am)

<comment><USER18> I run a tiling WM full-time, so it's rather hilarious when I see _any_ dialog error/warning box since literally nothing I run generates them. A virus on my C: drive, you say? Nope.

</comment></comment></comment><comment><USER19> What I'd really like is an option to auto-decline all requests to allow desktop notifications.

<comment><USER20> Can't you just set them to blocked under "chrome://settings/content/notifications"?

<comment><USER19> Sorry for not responding forever... I thought doing that would block all, while I'd still like to allow some from apps I use like Gmail and Google Calendar. Just tested with Calendar, and it turns out the allow list still allows even if set to blocked! Thanks for letting me know about the setting, I've set it to blocked.

</comment></comment></comment><comment><USER21> Here is Google's announcement: [https://blog.chromium.org/2018/11/further- protections-from-h...](https://blog.chromium.org/2018/11/further-protections- from-harmful-ad.html)

</comment><comment> King-Aaron I see this as a thinly-veiled "any ads that aren't run through Google Ads Network will be blocked"

<comment><USER22> Surely fairly thickly veiled?

Any grounds to believe that?

<comment><USER23> >Any grounds to believe that?

Knowledge of history? The ability to think critically?

<comment><USER22> Well. I'm obviously of the opinion that it's me doing the critical thinking here. But your absolute certainty is most definitely intoxicating.

</comment></comment></comment></comment><comment><USER21> There was a Chrome ad blocker that got a lot of press back in February and then apparently disappeared. What happened to that? Is this the same code?

</comment><comment><USER24> The suspicious thing is the full block. The right thing to do would be to alert the user and let them decide.

<comment><USER3> Many users aren't going to be equipped to make a good decision when presented with that alert. Just explaining what the alert is saying is probably going to involve more text that most people are going to read. Doing a full block isn't suspicious - it's a perfectly reasonable default.

</comment></comment><comment><USER25> Anybody else using Vivaldi?</comment>


An Experiment with GitHub Pages, Jekyll and Travis CI - <AUTHOR> http://darek.dk/2016/05/29/an-experiment-with-github-pages-jekyll-and-travis-ci.html <comment><AUTHOR> EDIT: Easter egg.</comment>


Facebook says Trump can lie in his Facebook ads - <AUTHOR> https://popular.info/p/facebook-says-trump-can-lie-in-his <comment><USER2> > The old rules prohibited all ads that contained "false" and "misleading" > content and made no mention of the fact-checking program. The new rules are > limited to claims that are "debunked by third-party fact checkers."

> Moreover, Facebook says "political figures" are exempt from even that narrow > restriction.

Grim.

</comment><comment><USER3> Facebook is just acknowledging reality. Politicians only tell the truth by accident.

<comment><USER4> (1) Not all politicians.

(2) Accepting money from someone to help them do wrong is not a neutral act.

(3) Shrugging off the bad actions of some actors encourages other bad actors, and dulls the public outrage that is appropriate.

<comment><USER3> (1) Yes, all politicians. Maybe they're lying by omission. Maybe they're using euphemisms to soft-pedal the facts. But they're still lying.

(2) With all of the nefarious shit Facebook has done and continues to do, I can't muster much outrage over yet another piece of evidence that Mark Zuckerberg is a piece of shit who has no business possessing as much money or power as he does.

Things aren't going to get better until corporations who engage in this sort of malfeasance start getting their charters revoked, their assets expropriated under civil forfeiture laws, and their executives prosecuted under the RICO statutes.

</comment></comment></comment><comment><USER5> If you want to jump straight to the content, check out [http://archive.is/IxWPw](http://archive.is/IxWPw).

<comment><USER6> Biden's exact words: "if the prosecutor's not fired, you're not gettin' the money"

<comment><USER4> According to who?

<comment><USER6> Biden: [https://www.youtube.com/watch?v=urTk6O4c0mU](https://www.youtube.com/watch?v=urTk6O4c0mU)

[https://i.redd.it/wp66quhos4p31.jpg](https://i.redd.it/wp66quhos4p31.jpg)

<comment><USER4> Interesting. Yup, looks like that happened. The question then is whether it was improper.

I haven't done a huge amount of research but here's what USA Today says:

"Burisma Holdings was not under scrutiny at the time Joe Biden called for Shokin's ouster, according to the National Anti-Corruption Bureau of Ukraine, an independent agency set up in 2014 that has worked closely with the FBI.

Shokin's office had investigated Burisma, but the probe focused on a period before Hunter Biden joined the company, according to the anti-corruption bureau.

The investigation dealt with the Ministry of Ecology, which allegedly granted special permits to Burisma between 2010 and 2012, the agency said. Hunter Biden did not join the company until 2014."

[https://www.usatoday.com/story/news/politics/2019/10/03/what...](https://www.usatoday.com/story/news/politics/2019/10/03/what- really-happened-when-biden-forced-out-ukraines-top-prosecutor/3785620002/)

<comment><USER6> Consider that in the context of the first hand account from the person who got fired.

[https://i.redd.it/wp66quhos4p31.jpg](https://i.redd.it/wp66quhos4p31.jpg)

USA Today, FOX, CNN, *NBC are not sources of information. They are wings of power centers. It's best to think of them as perception managment platforms. If you read them, purely looking for things you can actually check, fine. But realize thay are not even remotely neutral and they lie just as much as the average political figure.

Real windows are not for public consumption. Skippy's email (32795) for example.

<comment><USER4> Agreed about checking. I'd like to check this claim but don't know how:

"His dismissal had been sought not just by Mr. Biden, but also by others in the Obama administration, as well other Western governments and international lenders. Mr. Shokin had been repeatedly accused of turning a blind eye to corruption in his office and among the Ukrainian political elite, and criticized for failing to bring corruption cases."

[https://www.nytimes.com/2019/09/22/us/politics/biden- ukraine...](https://www.nytimes.com/2019/09/22/us/politics/biden-ukraine- trump.html)

<comment><USER6> NYT great example. Note how they dont source the claim. The reader is not expected to even wonder if there is a source. It's worded as if the sentence itself is the source.

A curious reader would need to contact Kenneth Vogel directly. If history is a guide, the response it something about "backgound sources with information about the matter". Or start searching archives for Shokin. It's common to use hit pieces to attack people problems.

Again though, consider that claim in context with the first hand account from the person that got fired:

[https://i.redd.it/wp66quhos4p31.jpg](https://i.redd.it/wp66quhos4p31.jpg)

Who is Joe Biden's son? Why would that company hire him?

And what is the NTY? IMO thinking of it as a newspaper is like thinking of Google as a search engine: [https://i.imgur.com/VUdcIou.jpg](https://i.imgur.com/VUdcIou.jpg) [https://gawker.com/here-are-some-top-n-y-times-editors- and-s...](https://gawker.com/here-are-some-top-n-y-times-editors-and-staff- joking-a-1713336525)

<comment><USER4> I'm not convinced by the prosecutor's testimony. Convincing would be records of what his office did.

Hunter Biden is a lawyer who had previously been on the board of Amtrak. I'm sure the political connections helped.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> Is Facebook such an ad monopoly that no advertiser in their right mind would boycott them for decisions like this? Have we outraged people no recourse?

<comment><USER3> Maybe if a sufficiently large group of angry sysadmins applied the Internet Death Penalty to Facebook and refused to allow any traffic to or from their IPs?</comment></comment>


Snowden's True Motives? - <AUTHOR>

It would be nice to think that Snowden released the information he did to let the American people understand the situation regarding their government and their privacy.  This issue brings up significant questions about the role of a democracy and the constitutionality of its intelligence gatherings.  You can convince me that Snowden did this as a patriotic duty as an American to other Americans ("Patriot Snowden").
However, his latest batch of releases focus on the US's spying on enemies and our allies (bugging embassies and such).  To me, this appears to be less about informing Americans about their government than it is simply exposing the USA and harming the country.  This is common espionage that's been practiced for decades by many countries, friend and foe.  The release of this information only appears to harm the US. ("Traitor Snowden")
Agree or disagree?  Is this "Patriot Snowden" telling Americans what they need to know about their misguided government, or is this simply "Traitor Snowden" undermining the interests of the USA? <comment><USER2> I am glad to hear more like this because, frankly, a lot of people are blind to what the US is doing and think that we are just this honorable country--we do not wrong.

Clearly that is not the case and it's about time that things like this come out. Maybe nothing will come of it but either way I'm not really on the side that believes we're any more endangered with this information coming out. That's just what the gov't is saying to make us look at him as a traitor.

<comment><AUTHOR> "I'm not really on the side that believes we're any more endangered with this information coming out"

I don't know about endangered, but we are now having to field all kinds of demands from our allies, wanting to know what was bugged, assurances that they won't be bugged in the future, reputation damage, etc.

We have to deal with the hypocrisy issue as well. It would appear that we've been doing all of those things that we've been accusing China of doing. We've lost all credibility here.

Also, American Internet companies are having to deal with a backlash of the government's actions on information routed through American companies like Apple, Microsoft, Google and Facebook. That in itself is an economic harm. Some companies / governments will now make an effort to not route their data through US-offered services in order to avoid the US government's signals intelligence efforts.

<comment><USER3> Isn't that a good thing? US is doing all sort of things that its not supposed to do. As a foreigner who used to like USA and had a dream of settling down there in the future, I have lost all my respect for the country. It doesn't respect foreigner's rights and not even its own citizen's.

IMO, Snowden is right by showing that US government has no bounds and they will exploit anyone and everyone. I don't want to personally attack you but I can't help seeing utter amount of selfishness in your words. You want to put the rights and privacy of the entire world at stake for your interests. I'm sure this will come and bite in your own ass one day. If you deem espionage to be a common practice, then why not see Snowden's case as just another "common" espionage act?

</comment></comment></comment><comment><USER4> I think that he is a person of great moral courage who has sacrificed any chance of a normal life for the forseeable future.

I have a theory that originally he did just start out aiming to bring public attention to an illegal/secret NSA wiretapping program. However, I believe that a combination of rhetoric against him by US politicians, and the anti- American influence of WikiLeaks has made changed the nature of his comments.

</comment><comment><USER5> It does not have to be black or white. It can sometimes be more complicated than "with us or against us".

Do you know your history? [https://en.wikipedia.org/wiki/Hugh_Thompson,_Jr](https://en.wikipedia.org/wiki/Hugh_Thompson,_Jr). Traitor or Hero?

<comment><USER6> That's possibly the most black and white example you could have posted here. It should be obvious to even the dumbest among us that Hugh Thompson was a hero. I understand that there were congressmen who wanted him to be tried as a traitor, but by making such statements, those congressman themselves should have faced imprisonment. Our elected officials should never condone war crimes. When they do, they should be removed from office and charged as the criminals they are.

I'm a former Soldier. One of the most destructive things that ever existed in the military is the attitude that people should just shut-up and follow orders. In a true, disciplined environment, Soldiers don't question routine, normal things. They just get the job done. But when it comes to morally ambiguous (and your example is by no means morally ambiguous) situations, you have to use your judgment. Sometimes superiors give bad orders because they overlooked something, when this happens, they will often correct themselves when someone questions the wisdom of what they are doing. Sometimes, however, superiors give bad orders because they don't really care what the right thing to do is. Sometimes leaders think that the regulations and laws governing the military don't apply to them. In these situations, there really isn't a good option for Soldiers to take. In Hugh Thompson's case, he ultimately won his battle. Some Soldiers won't be as lucky.

</comment></comment><comment><USER7> Regardless of his motives, he's done the world and America a service, by forcing us all to be aware of it. It's up to us to shrug or complain.</comment>


Daring Fireball - Three Takeaways From Today's WWDC Keynote - <AUTHOR> http://daringfireball.net/2012/06/three_takeaways_wwdc

<comment><AUTHOR> > I've said it before and will say it again: Google made a mistake by deciding > to oppose rather than ally with Apple on mobile.

I don't follow. Google would be better off making services for iOS and, say, BlackBerry or WebOS? And Apple would be in the same position of trying to build their own differentiating services?</comment>


Indian Laptop Company Stole Our Entire Site - <AUTHOR>

I guess the 37 signals fiasco isn't an uncommon occurrence. I was checking our analytics this morning when I noticed we've been getting some strange traffic regarding "Laptop Repair In Cochin." Well I dug around and found a site that copied and pasted our codebase outright, HTML / JS & CSS - then tweaked a couple CSS variables. I built the Wordpress theme from scratch about a year and a half ago and never released it for sale. This laptop repair site doesn't appear to be using Wordpress. Our site was featured on several design galleries at the time (it's in desperate need of an upgrade now, we just don't have the time) which, I'm sure, is how they found it to rip-off.
Check it out: Our Site: http://www.tinyfactory.co Their Site: http://www.laptoprepairkerala.com
I suppose imitation is the sincerest form of flattery - and a great reminder that it's time to upgrade our site ;) <comment><USER2> Why do you think it's a Russian company? Cochin is a city in Kerala, India.

In any case, you can definitely have some fun with them by changing some server settings or file names to get their site to just say "This was stolen from www.tinyfactory.co"

There was a post of a guy doing something like that on here a while back but I can't dig it up.

<comment><USER3> They have copied the site. Changing the files will accomplish very little unless they are only caching the originals.

Anyway, the credits are there: <http://www.laptoprepairkerala.com/css/style.css>

<comment><AUTHOR> Yep - at least they were so kind ;)

Looks like there's just a couple images linked from our img sub domain - everything else was copied and pasted.

<comment><USER3> At least you can have fun with the images ;-)

</comment></comment></comment></comment><comment><USER3> I think the worst part is that their "contact" label doesn't properly line up with the rest of the content. Lame ;-)

</comment><comment><USER4> Looking at the source code, they are also using your analytics code as it is. how stupid these can be.

<comment><AUTHOR> Seriously - we're getting all of their traffic showing up in our analytics account - that's probably the most annoying part.</comment></comment>


Aesthetic Engine: Generative Art in Clojure - <AUTHOR> https://github.com/BRUTALISM/BRU-9 <comment><USER2> I recall this related article posted on hackernews recently: [http://www.tylerlhobbs.com/writings/watercolor](http://www.tylerlhobbs.com/writings/watercolor)

</comment><comment><USER2> google cache: [http://webcache.googleusercontent.com/search?q=cache:4Xkwcia...](http://webcache.googleusercontent.com/search?q=cache:4XkwciawMxIJ:http://brutalism.rs/project/aesthetic- engine-2/%2Bhttp://brutalism.rs/projects/aesthetic-engine-2/&hl=en&ct=clnk)

</comment><comment><USER3> Looks like the home page has gone missing.</comment>