Advances in Conversational AI - <AUTHOR> https://ai.facebook.com/blog/advances-in-conversational-ai/ <comment><USER2> I gotta say, when AI is able to converse like humans, a lot of bad stuff will happen. People are so used to the other conversation partner having self- interest, empathy, being reasonable. When enough bots all have a "swarm" program to move conversations in a particular direction, they will overwhelm any public conversation. Moreover, in individual conversations, you won't be able to trust anything anyone says or negotiates. Just like playing chess or poker online now. And with deepfakes, you won't be able to trust audio or video either.

The ultimate shock will come when software can render deepfakes in realtime to carry on a conversation, as your friend but not. As a politician who "said crazy stuff" but really didn't, but it's in the realm of believability.

I would give it about 20 years until it all goes to shit. If you thought fake news was bad, realtime deepfakes and AI conversations with "friends" will be worse.

(If you go 50 years out people can start building sleeper bots with reputations to subvert community consensus, eg about science or politics. All our systems will be subverted. Don't believe me? How far are we from that with "skeptical" blog comments and tweets or sorta-believable allegations ruining people's reputations?)

<comment><USER3> I suppose that's how the Butlerian Jihad[1] really gets started, then?

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

</comment></comment><comment><USER4> Links to papers:

[https://arxiv.org/abs/1811.00207](https://arxiv.org/abs/1811.00207) \- Towards Empathetic Open-domain Conversation Models: a New Benchmark and Dataset

[https://arxiv.org/abs/1811.01241](https://arxiv.org/abs/1811.01241) \- Wizard of Wikipedia: Knowledge-Powered Conversational agents

[https://arxiv.org/abs/1810.10665](https://arxiv.org/abs/1810.10665) \- Engaging Image Captioning Via Personality

[https://arxiv.org/abs/1902.08654](https://arxiv.org/abs/1902.08654) \- What makes a good conversation? How controllable attributes affect human judgments

And a demo of a bot that they've produced: [https://www.facebook.com/Beat-The- Bot-212188996195556/](https://www.facebook.com/Beat-The-Bot-212188996195556/)

<comment><USER5> The demo bot keeps repeating: "You do not currently have access to this page". If anyone has access and can paste a few examples of conversation, it would be useful to understand if results are good for production bots.

</comment></comment><comment><USER6>
        Human: I'm a huge football fan - the Eagles are my
        favorite team!

        Knowledgable model: I've always been more of a fan
        of the American football team from Pittsburgh, the
        Steelers!

While an impressive improvement from "I like football too," this stilted attempt at incorporating relevant information ends up coming off as "how do you do, fellow humans!?"

<comment><USER7> Yes, still firmly in the uncanny valley.

<comment><USER8> The problem is that they are trying to cheat, rather than truly understanding what somebody is saying and responding appropriately.

That they are now addressing the consistency of their own model shows that they are barely able to understand what the model itself is saying, let alone what the other party is saying.

<comment><USER9> That's the trick of these ML approaches though is that we trade the cost/time of building semantic understanding for something that appears to work, but will produce things that make no real semantic sense/understanding.

</comment></comment></comment></comment><comment><USER10> It's a bit weird that having the agent make up stuff about itself randomly ("I'm a construction worker" or "I build antique homes and refurbish houses") is considered a good response. Something like "I don't need to make money, I'm a bot" is what I'd expect. Or alternately, in a game situation, the bot could be playing a particular role it's given beforehand and judged by how well it stays in character.

<comment><USER11> Yeah I guess it would depend on context. If they want to use a bot for say, training purposes, it would make sense to play a role. But if I'm talking with a virtual assistant, I'd prefer not to be lied to.

</comment></comment><comment><USER12> They created an Ai bot game as well

[https://www.facebook.com/Beat-The- Bot-212188996195556/](https://www.facebook.com/Beat-The-Bot-212188996195556/)

They give you a character to play, you are given 2 answers one from a bot one from a real person.

You respond to the one you think is best, interesting, took too long to connect me to another 'player' didn't get a chance to actually play yet

</comment><comment><USER13> Fascinating topic. Unfortunate that a voice in the back of my brain has to say "Oh I bet if they good at this they'll just use it to target ads better"</comment>


Graphene Antennas Would Enable Terabit Wireless Downloads - <AUTHOR> http://www.technologyreview.com/news/511726/graphene-antennas-would-enable-terabit-wireless-downloads/#.UTY-IKGip50.facebook <comment><USER2> Graphene is quickly acquiring buzz-word status.

<comment><USER3> As a physics grad student, I wanted to mention that graphene _was_ a buzz-word a few years ago. It's popularity has since died significantly in the community. It's still around, but nowhere near as popular as it used to be. Maybe the same will happen in popular science?

</comment></comment><comment><USER4> Just theoretical, no prototype yet. Seems a bit early to get excited.

</comment><comment><USER5> Now we need a storage medium capable of supporting those transfer speeds.

<comment><USER6> Im sure graphene will be involved with that too ;)

<comment><USER7> Yes the graphene covered DVD put in a LightScribe DVD drive made a supercapacitor I'm sure that knowledge may someone help in making better batteries (yes I know a capacitor isn't a battery).

<https://www.sciencemag.org/content/335/6074/1326.ful>

<comment><USER8> But a battery is a capacitor. Well, technically not, but they behave similarily, with the battery storing more energy per cubic centimeter than the capacitor, at the trade off of having a much higher internal resistance. Also I believe he meant data storage, since we have battery technologies which would work for this application, even though more juice is always a juicy prospect.

</comment></comment></comment></comment><comment><USER9> I find claims of such to be somewhat questionable. Even if we could enable Terabit speeds over wireless it does not good if the hardware receiving it is incapable of handling that much data in that short of time. I mean we get max hard drive write speeds of 3.0 GB/s for the average user. Ram and CPU are still on the order of Ghz. We may be able to cram that much in the air but it does no good if the computers can't handle it.

<comment><USER10> It's a fair point. It's the same bottlenecking issue that plagues mobile devices. We can make multi-core and multi-ghz processors with giant, bright, high resolution displays, but we're having a hard time getting battery technology to keep up with this immense power draw.

The good news is, with these restraints being placed on improvements in technology, it gives incentive to further invest in research to making better batteries or faster storage devices.

<comment><USER8> There's a graphene for that too. Or rather graphene supercapacitors, which for their size and thickness are remarkable. They'll likely be a tease for a couple of years, move into specialized products like pacemakers and then slowly flow into the consumer market, just like Li-Ion batteries did, Light Emitting Diodes and Transistors. R&D, why do you torture me so, showing me powerful technology I could design sexy things with, due in a couple of years?

</comment></comment></comment><comment><USER11> I remember John Scalzi's _Old Man's War_ universe where the human electronic tech was based on microchip modules communicating to each other wirelessly. There are no wires. I just never expected to see people developing such technology a few years after I read that.

<comment><USER12> Well, the article says they've only drawn up blueprints of how the technology could work so far. I hope they start actually developing this soon though.

</comment></comment><comment><USER13> This is indeed interesting, but I'd say far beyond the needs. 10Gbps wireless transfer already exists (e.g. [http://www.engadget.com/2013/02/27/ntt-docomo- confirms-succe...](http://www.engadget.com/2013/02/27/ntt-docomo-confirms- successful-10gbps-wireless-test/) ), and that is beyond what flash based memory can do. In any case, it would mean transferring a BluRay in something like 30 seconds, assuming you had a faster drive.

<comment><USER14> Don't be so quick. Don't just consider single link transfers, remember that wireless is always shared bandwidth. If you have a terabit for everyone that means you can have hundreds of megabits for tens of thousands of folks in a small area all connected to one access point / cell tower.

<comment><USER15> They are talking about terahertz bands that aren't suitable for distance communication, the ranges are practically measured in centimeters.

<comment><USER16> > They are talking about terahertz bands that aren't suitable for distance > communication, the ranges are practically measured in centimeters.

If this argument had merit, light would be unsuitable for long-distance communication.

<comment><USER15> Water vapor in these bands is a strong absorber limiting distance in earth's atmosphere to ~10 meters or less. Subtract a good deal for omnidirectional emissions and decent snr.

<comment><USER16> That's very wavelength-specific, as this graph shows:

[http://upload.wikimedia.org/wikipedia/commons/thumb/d/db/Atm...](http://upload.wikimedia.org/wikipedia/commons/thumb/d/db/Atmospheric_Microwave_Transmittance_at_Mauna_Kea_%28simulated%29.svg/350px- Atmospheric_Microwave_Transmittance_at_Mauna_Kea_%28simulated%29.svg.png)

Water and water vapor has the same effect on the visual part of the spectrum also, but this doesn't reduce people's enthusiasm for it as a potential communications medium.

<http://en.wikipedia.org/wiki/Terahertz_radiation>

</comment></comment></comment></comment></comment></comment><comment><USER17> Make it a fractal graphene antenna and you've got next years funding locked up!

<comment><USER18> Too bad fractal antennas are patented. US Patent No. 6452553

<comment><USER19> Odd, given that the log-periodic antenna is fractal and invented around 50 years ago (1957 by Duhamel and Isbell?). I personally was working with such antennas in 1992. They're not called fractal, since their invention predates the invention of the work "fractal" in 1975, by Mandelbrot.

[1] <https://en.wikipedia.org/wiki/Log-periodic_antenna>

\--- Edit:

The owners of the patent actually acknowledge the above in a FAQ on their site [2]. It's accompanied by an unconvincing justification for why they claim to own fractal antennas.

[2] <http://www.fractenna.com/nca_faq.html>

</comment></comment></comment><comment><USER20> I wonder how much spectrum it would stomp on? Or is it possible to increase bandwidth without using more spectrum? Better time resolution?

<comment><USER14> None. Transmissions in the terahertz range are currently not part of any FCC allocation (which maxes out at 300 GHz).

</comment></comment><comment><USER21> does anyone know of any commercially available products incorporating graphene yet?

<comment><USER8> Pencils. Well, layered graphene.</comment></comment>


Jet.com Raises $350M, Expects $150M More - <AUTHOR> http://recode.net/2015/11/24/jet-lands-350-million-in-funding-with-potential-for-150-million-more/ <comment><USER2> "Our philosophy at that point was, 'Customers are never going to be easier or cheaper to acquire as they are today' and we, as a small company and board, said we have to step on the accelerator to build this out," "We literally bet the company and went through 12 months of runway in a couple of months because we thought that the time to own the market was right."

I'll leave the googling as an exercise for the audience.

<comment><USER3> Interesting quote, but I'll save people the effort - it was Tige Savage from LivingSocial.

> [http://www.nytimes.com/2015/11/22/technology/livingsocial- > on...](http://www.nytimes.com/2015/11/22/technology/livingsocial-once-a- > unicorn-is-losing-its-magic.html?nlid=71377211&_r=0)

</comment></comment><comment><USER4> I just visited jet.com for the first time and it welcomed me with an "attention required / Please complete the security check to access jet.com" captcha. Didn't bother to go further.

Amazon UX 1, jet UX 0.

<comment><USER5> That's Cloudflare

<comment><USER4> No. That's my user experience going on their website.

<comment><USER5> I think you meant:

      Yes agreed, that's Cloudflare. However, I personally feel
      that this gives a negative user experience.

No need to be so snarky. I was just pointing out what was causing it.

<comment><USER4> What I meant is that it is not cloudflare's fault. Cloudflare is only a 3rd party service provider. Jet is responsible for their own user experience.

</comment></comment></comment></comment></comment><comment><USER6> This is very unsettling. Sounds like company changed its strategy in middle of funding rounds. I also see a lot of neutral to negative opinions about it.

Well, we will see, but I cannot say I am optimistic about "startup" rising so much money offering very little uniqueness. $20 mil funding and completely unique product - sure, but is this really that unique? Cant Amazon just adjust their offering within few weeks to kill anything that is unique about Jet?

<comment><USER7> Can't Jet just adjust their offering within a few weeks to match the tried and true practices that amazon.com - the $314.6 billion company - has developed over 21 years?

<comment><USER8> No.

</comment></comment></comment><comment><USER9> > Lore defended the company's aggressive advertising spending, saying the > market opportunity is too huge to ignore. The e-commerce market is about > $300 billion in the U.S., but it still only accounts for somewhere around 10 > percent of all retail transactions, depending upon how you measure it.

Isn't this the exact phrase from the Livingsocial article from a few days ago?

Sure, if you are rushing to a new market (Uber, Airbnb, Ebay) you might get network externalities from being first.. but this?

<comment><USER10> Eh, for things like diapers where I am getting the same thing from them amazon, or elsewhere Jet does it cheaper and so they have been getting my $ the last few months. And the other day I ended up putting together a larger shopping cart of misc items and every single one was cheaper on jet than on amazon. I have noticed that in the last year I could find things just slightly cheaper elsewhere than Amazon, but when I factored in the convenience and shipping cost amazon usually won. So this cart full of stuff that was all cheaper than amazon was a bit surprising. For the pile of random stuff I seem to order every month or two I might just be looking to use Jet first in the future. They don't yet have the breadth of Amazon, but I was surprised at what they have which is what feels like a ton more than when I checked them out six months ago. For random disposable staples like diapers, batteries, super glue, pens, etc I don't have any real loyalty to any one retailer over another, but once I there I will probably keep re-ordering these for a while so as long as they are near the cheapest I'll stick around.

Oh and Jet's search works. I started writing up a comparison and grabbed quaker popped as my random selection choice and how amazon would have more, but honestly I couldn't get amazon's search to work to prove it so I was forced to conclude that maybe Jet's limited selection is just as good as Amazons. :| And if anyone from Jet is listening, can you add pepper flavor?

<comment><USER11> If the uniqueness is 'being cheaper' than Amazon then this story is not going to end well. I believe that this is a terrible way to start a business. And I would bet that they do not have the efficiencies of Amazon's scale so they are probably riding on super thin margins - there's a lot of catch up to do. But again, maybe the market is big enough to sustain another player...

<comment><USER12> "Being cheaper" worked out pretty well for Walmart. Amazon definitely has scale, and advantages of doing things in-house. Amazon's current problem though, they have spread themselves too thin, reporting losses a quarter ago, and AWS appears to be what is carrying them now. They could be ripe for an aggressive competitor to come in and cut their throat in retail. Do to Amazon what Amazon did to Borders.

<comment><USER13> However Jet is only cheaper because it's VC subsidized. Walmart was cheap because of their efficiency and vendor contracts (and abysmal employee conditions that followed). They were profitable from the beginning.

Jet will eventually have to IPO for the investors to liquidate. I feel as a pure ecommerce store, they're going to have to be profitable or wall street will tear them up.

<comment><USER12> Not exactly, here's my comment on why Jet is cheaper. [https://news.ycombinator.com/item?id=10631311](https://news.ycombinator.com/item?id=10631311)

</comment></comment></comment></comment></comment></comment><comment><USER14> Their website wants me to do a Captcha just to see page 1. They appear to be amateurs quite frankly. If you can't setup Cloudflare for a retail website then what else can't you setup?

</comment><comment><USER15> > Jet shoppers bought more than $33 million in goods through Jet in October, > up from around $10 million in August.[...] The company's marketing head, > Liza Landsman, said the company will spend, on average, $20 million to $25 > million in marketing each month.

$33M in transactions is probably $5M in gross profit. Yet, they are spending $25M in marketing? These numbers don't add up at all. They are losing $200M a year because of marketing alone.

</comment><comment><USER16> This screams Pets.com

</comment><comment><USER17> I really like Jet's tech stack. I have shopped on jet.com for a while. Online retail still is not the biggest percentage of the total retail. Jet is in no shape or form dethroning AMZN. My guess would be they would like to be the obvious #2 in this space, Bing of Retail if you will and over a period as the share of Online retail increases in the over all pie, they get to have good valuation.

<comment><USER18> I'm curious what about their tech stack you like? I don't know much about it, other than pages are incredibly slow to load on both desktop and mobile, their checkout process is slow and buggy, and their customer service tools are wholly lacking.

<comment><USER19> The backend is a flashy real-time stream of billions of updates written in F# and running on Azure: [http://hanselminutes.com/494/jetcom-scales-with-azure- f-and-...](http://hanselminutes.com/494/jetcom-scales-with-azure-f-and-more- with-rachel-reese)

The frontend is Node.js and Angular, according to their job postings: [http://careers.stackoverflow.com/jobs/102502/front-end- devel...](http://careers.stackoverflow.com/jobs/102502/front-end-developer- jetcom)

</comment></comment></comment><comment><USER20> Just visited Jet for the first time. Not sure what the distinguishing factor is. I guess they hope they can execute well enough to get bought by Amazon, or if not them, Walmart or someone?

<comment><USER21> Did you read the article?

> Jet's founder Lore believes his company offers something different: A unique > discounting structure that rewards shoppers when they put more items in > their checkout basket. Orders that contain multiple items, ideally located > in warehouses close to their delivery address, are more efficient and cost > less to process. That allows Jet to pass along those savings to the > customer.

<comment><USER22> That's hardly a moat. It sounds like a great example of FNAC - feature not a company.

I'm sure Amazon could implement that in about 15 minutes if they wanted to.

<comment><USER23> Amazon already has implemented it both with Amazon Pantry and with Amazon subscribe and save. Each of them rewards you with discounts that increase as you add more stuff.

<comment><USER24> I use Amazon Pantry and subscribe & save. And honestly it's nice but not a killer feature.

The trickiest thing is estimating what subscription frequency to use. I barely even think about optimizing for % discount.

<comment><USER23> Right, I think thats why people are baffled at the heavy investment in jet.com. They pivoted to a neat feature but it is hardly an Amazon-killer type of feature.

</comment></comment></comment></comment></comment></comment><comment><USER25> Wow, I tried opening jets.com from Indian IP it doesn't open, using a US IP the site opens :D

</comment><comment><USER25> I do not understand why jet.com says content not found, is the company's website down?

<comment><USER26> It's working for me.

In the future, check out [http://downforeveryoneorjustme.com/jet.com](http://downforeveryoneorjustme.com/jet.com)

<comment><USER25> I am in India, and whenever I open jets.com it says NOT FOUND

<comment><USER27> jets.com is a different website to the one in discussion: jet.com :-)

</comment></comment></comment></comment><comment><USER28> I can only imagine what the liquidation preference on a round like this must be...

</comment><comment><USER29> Bring on the promo codes. :)</comment>


Lockheed Martin Claims Fusion Breakthrough That Could Change World Forever - <AUTHOR> http://www.forbes.com/sites/williampentland/2014/10/15/lockheed-martin-claims-fusion-breakthrough-that-could-change-world-forever/

<comment><USER2> They're hopeful they'll see a prototype in five years, but for now it's just a concept.

Maybe the idea works out really well, that'd be amazing. But "breakthrough" almost suggests they've successfully tested some device, which doesn't seem to be the case.</comment>


Redfin buys Walkscore - <AUTHOR> http://blog.walkscore.com/2014/10/look-back-look-ahead/#.VEf46IftIso

<comment><USER2> Great purchase. I've done a fair amount of looking at stuff on Redfin and then typing the address into Walkscore for more info. Can't wait until it is integrated.

<comment><USER3> Honestly, check out Trulia :)

Walkscore info is integrated, on top of trulia's significant investment in great mapping, including the "search by commute time" feature that it mentions Walkscore supports as well.

<comment><USER4> Does anyone know if this goes away post acquisition? It seems Trulia and Redfin do compete for the same customers.

<comment><USER5> They shouldn't be competitors-- one is a "portal" and one is a "brokerage." Much of the industry has regulations preventing brokerages from being portals, and vice versa.

Redfin is actually competing with the brokers/agents who use Trulia and Zillow.

It's an unfortunate issue of Redfin's that they're confusing the public by presenting themselves as both (portal and brokerage). It's more so that they're trying to compete, for some unknown reason, with Trulia and Zillow (Zulia).

They definitely are just another brokerage, like Century 21 or Remax and nothing more.

Note: I work for Househappy.org so I'm rather well versed on this issue in particular.

<comment><USER6> But they are competitors. They're both competing for home buyers.

If a home buyer goes to Redfin and not Zillow, Zillow loses because they monetize on their ability to sell leads to agents.

I don't know if I'd call the brokerage + portal thing unfortunate. Zillow/Trulia only control one portion of the home buying process (search/discovery), which isn't necessarily ideal. Most "normal" brokerages have trouble sourcing leads because they have poor websites, so the only way to get leads is with cold calling and networking. Doing a company where lots of leads can be sourced and worked internally by agents that all have lots of great tools and training at their disposal is a different concept, but it's not unfortunate.

<comment><USER5> But they aren't competing...

Zillow is an advertising company, selling ads to brokers-- as is Trulia. Neither sells homes, they sell ad space and leads.

Redfin is a regional brokerage. It directly lists and sells houses using its brokers.

I'm not saying that there isn't merit to the Redfin approach, I quite like it.

I just think for the public it's unfortunate as a lot of people assume when they use Redfin its more of a portal than a brokerage. If they want to make their purpose and intent more clear, I think that'd be great.

<comment><USER6> I hear you. My comment below: "Zillow/Trulia are media companies trying to connect buyers with brokers who pay them money for advertising. Redfin is a brokerage trying to connect buyers with their own brokers."

I agree that it would be nice if Redfin could be more open as a brokerage, but it makes sense to obscure the "we're a brokerage!" message from consumers, because most consumers hate brokers (other than their own broker - who is great!).

So I agree that consumers mistakenly think of Redfin like another online portal, but I don't think that the distinction one way or another matters that much. Both Zillow and Redfin put consumers in touch with brokers.

(edit: not sure why you're being downvoted - it wasn't me. I'm enjoying our conversation!)

<comment><USER7> > it would be nice if Redfin could be more open as a brokerage

[https://www.redfin.com/](https://www.redfin.com/) "WHY USE A REDFIN AGENT?" "When your agent and your website work together you..." "We're full-service, local agents."

> Both Zillow and Redfin put consumers in touch with brokers. That's a weird > way of looking at it.

Would you say that BestBuy is just like Google Shopping Search -- it puts you in touch with electonics sellers. But BestBuy tries to connect you with its own internal sellers?

Anyway, Zillow has no incentive to provide high quality data / shopping experience -- they do better advertising busines when users get interested but then confused and need an agent's help. Redfin uses the website to automate as much of the agent's work as possible, freeing up the agents for the necessarily high-touch work. The better Redfin's website is, the more profit they make on a sale (lower cost to close a deal)

<comment><USER6> > [https://www.redfin.com/](https://www.redfin.com/) "WHY USE A REDFIN AGENT?" > "When your agent and your website work together you..." "We're full-service, > local agents."

Yes, but Zillow and Trulia use the word "our agent" all over as well.

> Would you say that BestBuy is just like Google Shopping Search -- it puts > you in touch with electonics sellers. But BestBuy tries to connect you with > its own internal sellers?

Sure. You can buy a TV from bestbuy.com or amazon, or whatever comparison you want to make and from GSS. Two ways to the same means.

> Anyway, Zillow has no incentive to provide high quality data / shopping > experience

I don't completely disagree, but it's incorrect that they have NO incentive. There are plenty of reasons to provide accurate data. There's a reason we spent 10s of millions at Zillow each year trying to get better data. It certainly matters.

<comment><USER8> > There's a reason we spent 10s of millions at Zillow each year trying to get > better data. It certainly matters.

If Zillow cared about getting quality data, they would've become/integrated a brokerage, as its the only way to get the most up-to-date real estate data. Redfin's data is much better because of this, and it shows.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER3> Consolidation of online real estate continues.

</comment><comment><USER9> Hopefully this doesn't mean they won't be showing up in padmapper and other apps like that. It's a pretty useful service while apartment hunting, although it would be awesome if they could find a better data source than CitySearch.

<comment><USER10> That's almost certainly what this means. Proprietary datasets are VERY hot in real estate right now because otherwise, everyone is working with the same listings data.

<comment><USER7> Did you know that Redfin is a very popular website with real estate agents who compete against Redfin agents for customers? And this violates the redfin.com EULA (real estate data is for provided for prospective home buyers and potential customers), but is not enforced at all?

</comment></comment></comment><comment><USER11> Any word on the price paid?

<comment><USER6> No, and I doubt they'll release it. My guess from seeing lots and lots of similar acquisitions in RE is $5-10m range, with a large stock component and nice employee retention package (especially because this is Redfin's first acq. and they'll likely file IPO in 2015).

</comment></comment><comment><USER12> Couldn't have happened to better people!

</comment><comment><AUTHOR> Congrats guys!

</comment><comment><USER13> I proposed that Trulia integrate Walkscore almost 7 years ago. Feels good to know someone did it, though I hope it stays open

</comment><comment><USER14> Man, I need to get in to the real estate/rental site business. Every day another acquisition.

<comment><USER15> It's easy. Just start your company in 2007, work yourself to the bone for over half a decade while most of the industry ignores you, build an enduring consumer brand against all odds and expectations, find an engine for profit, get acquired!

<comment><USER6> Exactly. With a couple exceptions, these are all companies that have been around for 5-15 years that fly under the radar. A few companies acquired in the last couple years (for 7-10 figure amounts), and their founding dates:

Apartments.com (1992)

Marketleader (1999)

Trulia (2004) - not complete, but likely

Hotpads (2005)

Mortech (1987)

Postlets (2006)

StreetEasy (2005)

</comment></comment></comment><comment><USER16> Private paper burried under $100m of preference :(</comment>


Quebec boy, 12, pleads guilty to hacking government websites - <AUTHOR> http://www.torontosun.com/2013/10/25/que-boy-12-pleads-guilty-to-hacking-government-websites

<comment><USER2> Better title: "A 12 years old boy hacked your government websites. Lack of security is concerning."

Seriously, security on governmental websites (in Canada and Québec) is terrible.

I wouldn't be surprised if they stored password in plain text: they ask you to choose a shorter password if yours is too long.

<comment><USER3> Ding ding ding. Visited the website for National Student Loans Services Centre and forgot my password. Email reset? Here's your password!

No! Why?

<comment><USER4> >No! Why?

It was built by the co-op students who couldn't get placements anywhere else.

<comment><USER5> That's actually exactly what happens. Co-op programs are huge in Québec and that's a good thing. Government jobs usually pay 30-40% less and most of the time the less skilled students end up doing their co-op(s)/internship(s) there.

</comment></comment></comment></comment><comment><USER6> > Court heard the boy used three different computer attacks, one which > resulted in a denial of service to those trying to access the websites and > flooded servers, making them ineffective.

> In another method he would alter information and make it appear as the > homepage.

> His third tactic involved exploiting security holes in order to access > database servers.

> "And he told others how to do it," a police expert testified in Montreal on > Thursday.

And now so has the Toronto Sun, because frankly, that's all the info a script kiddie will need, if they couldn't work it out themselves.

</comment><comment><USER7> I have an uncle who works for a infosec company which has contracts with the provincial government. I know that internally, the police of the province (which is called the SQ) has no real power in terms of hacking investigation. It really is sad. They rely on gathering info from sources such as Facebook, that's how they got the kid.

What this article does not say is that right now is his first court hearing but they had found his identity a couple of months ago. My uncle was at the press conference where they said that they had found him and after it was finished he asked one the police officer on the case how they had found him. He straight up told him that they found him because he talked about it to his friends on Facebook. If not for that, the kid would not have been caught. The alternative is to wait for him to commit a crime against the great US of A and have the FBI do the job.

For the record, I'm a 20 year old guy from Quebec and I really wonder what I could have done if I tried my hands at it. I'm also glad I didn't.

</comment><comment><USER8> I always hate the comments on these type of articles.

"the government should hire him before someone else gets him"

In reply

"you can be sure there is a line up already - this kid is a treasure"

<comment><USER9> Why you hate such comments?

</comment></comment><comment><USER3> Probably the work of CGI Group! :) Not that I really want to bash my follow Canadian developers, but can we please get some experienced developers working on these sites?

</comment><comment><USER10> How are they sure he wasn't just a pawn or a script kiddie. I say this because he pleaded guilty; was there some serious analysis done or did they just got his address?

</comment><comment><USER11> I'm curious how many 'hackers' actually wear a hoodie when 'hacking'.

<comment><USER9> The ones employed by corporation and sitting in open space office. Also headphones.

</comment></comment><comment><USER12> Well, that's embarrassing.

</comment><comment><USER13> We are all hackers now.

</comment><comment><USER14> It took me a minute to figure out what a "Que. boy" was.</comment>


Ask HN: Technical Founder in Operational Hell - <AUTHOR> My startup is at an early stage, with a team size of 5 (+ one cat). What was very unexpected for me as a manager is how much time and effort I have to put in filling out different forms (on- and offline). Hence providing the same information over and over again. I estimate that in the last month I spent ~5 hours on this stuff (feels like 100).<p>Can anyone relate or knows of any solution? I was thinking of hiring an office manager, but we are trying to stay lean as our runway is not too long. <comment><USER2> Last month had thirty days. That's 720 hours. You're prioritizing something that takes less than 1% of your time. Looking for an alternative will take more than that. Hiring someone will take many many times that much. Might be better to roll up your sleeves and just do what needs to be done. Good luck.

</comment><comment><USER3> I recommend setting a regular schedule for yourself (such as 10am - 11am on Tuesdays and Thursdays) where you just sit down and do paperwork for the business, and if there is no paperwork to do then organize receipts.

</comment><comment><USER4> In 1 month, you spent about 5 hours doing operational stuff with a team of 5 and you think that is too much ? I would say not really. Welcome to being the founder. I was just yelling at myself for figuring out how to fix the damn CRM. And I actually have a team of sales/marketing people even though we are just a little bigger than your team size.

</comment><comment><USER5> For reference, I have highly technical colleagues with leadership/engineering management positions in a large non tech enterprise who might spend their time in a typical week like this: 25% line management of direct reports, 30% admin or interviewing, 44% attending meetings about various initiatives, 1% maybe doing something as an individual contributor.</comment>


Ride the carousel of folly with a Python migration - <AUTHOR> https://mortoray.com/2017/01/24/ride-the-carousel-of-folly-with-a-python-migration/ <comment><USER2> > _The only somewhat problematic code was this:_

      for line in iter( handle.stdout.readline, '' ):
        self.output.put( ( handle, line ) )

> _This no longer terminated an emitted lots of odd values (one number > repeatedly). It turns out it returns an empty b '' now when empty, as > opposed to a ''. This could have been avoided had this API sensibly returned > None instead of an empty string._

For any observers, this is much more idiomatically written:

      for line in handle.stdout:
        self.output.put((handle, line))

That is, the default iteration over a file-like object is line by line. Frankly, I wonder how many Python programmers are aware that iter() has a two- arg form; this is the first time I've ever seen it used (and I had to look it up myself).

> _[PyPI]_

His solution of maintaining separate code bases is … unusual. I feel like a cursory glance around the library landscape shows that most of the projects out there are maintaining a single codebase that supports 2.7+. six greatly simplifies most of this. I'm not aware of _any_ projects that are supporting Python 2 and 3 concurrently by separating out their code completely.

> _I presumed that I'd just open a "Migration from Python 2 to 3 Guide" and > follow the instructions. Alas, there is no such guide. There appears to be > no central resource whatsoever on the porting of code from version 2 to > version 3._

An I'm Feeling Lucky search on _that exact quote_ pulls up the migration guide _in Python 's official documentation_.[1]

[1]: [https://docs.python.org/3/howto/pyporting.html](https://docs.python.org/3/howto/pyporting.html)

<comment><USER3> In addition to what you've pointed out, he claims that 2to3 didn't do anything to his code, and yet he had to fix print statements. 2to3 definitely fixes print statements; he likely didn't read the usage or docs at all. By default it prints a diff, you have to use 2to3 -w if you want it to modify files on disk -- I certainly don't want tools modifying files in-place by default, so that seems like the right API to me.

<comment><USER4> The simple syntax changes I did prior to running 2to3 as they came up on the first run I tried. The semantic changes that didn't come up in 2to3 is what I was more bothered about.

<comment><USER3> Then you should update your post to say that, rather than saying 2to3 didn't do anything to your code.

</comment></comment></comment></comment><comment><USER5> He claims there's no migration guide, but when I google on the phrase he used, "Migration from Python 2 to 3 Guide", or any variation of that phrase, the first hit is [https://docs.python.org/3/howto/pyporting.html](https://docs.python.org/3/howto/pyporting.html) I wonder why he didn't find it.

<comment><USER6> And when 2to3 didn't work, he didn't attempt `2to3 --help`?

I guess if everything went smoothly, he wouldn't have had a blog post to write.

</comment></comment><comment><USER7> In my opinion/experience, there are some important hidden costs of _staying_ in py2:

1) Hard-to-read or quirky code. Unicode handling, args, harder unpacking, etc. The more time it passes, the more updates py3 gets, and the more outdated the py2 code looks.

For instance, after a year almost exclusively in py3, I have completely forgotten about iter(), unicode gimmics, etc. and also rely more on stuff that is just too slow on py2 (like ordered dicts). With 3.6, I can start assuming dicts are ordered, which will create further breaks for py2 users (if they want to backport anything).

2) Outdated libraries. As the other comments say, epydoc is abandonware. Had he migrated to py3 earlier, he would have stopped investing in that tool earlier and switched to the standard (sphynx).

3) Harder to interact with others in the community.

Although the folks at google might think otherwise, most people are now using py3, and most code being developed right now is on py3 (at least open source code).

If you are still on py2, it will be harder to hire (it hints at huge technical debt, and a tedious working environment), harder to sell to others (e.g. I don't use google compute because of that), and harder to collaborate on (for open source projects).

All in all, the more that py2 and py3 diverge, the harder it will be for legacy (py2) users to migrate (this was not the case a few years ago, when there were still important libraries on py2 only).

<comment><USER8> Nitpick, but you cannot assume dicts are ordered in Py3, even in 3.6. CPython's 3.6 implementation will make it so, but it's totally a CPython implementation detail. Please use ordered dicts when appropriate (they'll be dicts in CPython anyways)

</comment></comment><comment><USER9> I ran a 2to3 last week on a codebase I've been working for the past six months. Took me one try to get that I was missing a flag. 'git diff' cured me of thinking it wrote anything, and I found '-w' shortly after.

I guess a masochist could do something like pipe 1 to 'patch -p0' or something…

I ran into the same unicode issues as the author, and dumped all the code that handled it because I didn't need it in 3.

I also reduced the whole codebase by some 150 lines because of not needing to do a bunch of extra work I originally designed in when working through the code. This was more due to fresh eyes.

ETA: the code was on 2.7 because a library I needed wasn't yet available under python 3 (FuelSDK from SalesForce) until November, and I completely missed this. 1.0 version supports py 3, but it wasn't in pip.

</comment><comment><USER10> This statement in the article...

"there is nothing in the PyPI package description that actually indicates what version of Python is being targeted"

is incorrect. There are Trove classifiers[1] for both versions, and indeed for every minor version number of both versions. There are even Python 2 and 3 classifiers that end in "Only", which look like they would exactly fit the author's use case.

[1] [https://pypi.python.org/pypi?%3Aaction=list_classifiers](https://pypi.python.org/pypi?%3Aaction=list_classifiers)

<comment><USER4> Okay, they are classified but I don't see that anything in the setup, or pip package management, seem to actually use them. Are they somehow used in actual package management, or just search qualifiers?

<comment><USER11> You are correct, the classifiers are just search qualifiers.

However, since pip 9.0.0, it will respect the Requires-Python[0] metadata, which can be specified via your setup.py file.

Since PyPI allows only a single source distribution per release, though, this will still not get you separate modules for separate codebases as it seems you originally desired. As mentioned in a previous comment, it's generally preferred to support multiple versions in a single codebase via six.

[0]: [https://www.python.org/dev/peps/pep-0345/#requires- python](https://www.python.org/dev/peps/pep-0345/#requires-python)

</comment></comment></comment><comment><USER12> Python 2 > 3 is the next Y2K. My colleague and I have started offering Python 2 > 3 consulting services as some of our clients weren't prepared to make the migration themselves. With Django announcing that they will drop Python 2.7 support, this might become one of our more popular services!

<comment><USER13> We have "until at least April 2020" before django 1.11 (the last that works with 2.7) is EOL. Python 2.7 is EOL in 2020 as well.

</comment></comment><comment><USER14> I'm glad someone actually wrote up their migration. Even with some weird elements ("missing" guide?) it still contains good links and may be useful for others. Hope to see more of those, as opposed to the usual FUD and ideological arguing about py3.

</comment><comment><USER14> Re. documentation: unfortunately epydoc is pretty much dead. No updates since 2008 and doesn't run on py3 itself.

Sphinx is close to a standard nowadays.

</comment><comment><USER15> That doesn't sound so bad. When I ported a medium sized system to Python 3 two years ago, I found serious bugs in four library packages. It took me about a month to get everything working. He's not reporting anything like that.

</comment><comment><USER16> Author, please stop responding to every negative comment. That looks pretty pathetic, especially when you just expose your lack of expertise this way.</comment>


EyeEm's new app finds your best photos for you - <AUTHOR> http://techcrunch.com/2016/05/12/eyeem-the-roll/ <comment><USER2> "small thumbnails of the images are uploaded to our server"

This is the part which blocks it for me[1] - although I will give them credit for being upfront and honest about it when you launch the app the first time.

[1] if they release a phone-local version, however limited, I'll definitely give that a proper go to see how good their tech is.

<comment><USER3> Thanks for the feedback: Here the relevant quote from our TOS:

> All photos reviewed and organized via the App will only be saved temporarily > on servers for the duration of the review process. The photos will be > deleted immediately upon completion of such process. We will not make your > photos available to others and we will not store them. No human will ever > see your photos during the review process.

[http://roll.eyeem.com/privacy.html](http://roll.eyeem.com/privacy.html)

Also note that we are a German company, so German privacy laws apply.

<comment><USER2> Ta. I have been mostly reassured and given it a go.</comment></comment></comment>


Aramco prices shares at $8.53, with the total valuation of $1.7T - <AUTHOR> https://www.cnbc.com/2019/12/05/saudi-aramco-prices-shares-at-the-top-of-the-range-for-record-ipo-report-says.html <comment><USER2> Notes from the article

* Total valuation $1.7T.

* They sell 1.5% of the company ($25.6 billion)

* Only 10.5% comes from foreign investors ($2.8 billion). If UAE and Kuwait investment authorities are buying with 1-1.5 billion worth, there is few hundred millions left for other foreigners. (Chinese have said elsewhere that they are interested).

* It was hard sell hard for locals.

You would think that the idea of IPO is divestment from oil, not just shuffling oil stocks between governments. The Saudi Aramco IPO was planned to be in foreign exchange and all the hype rumors told that it would be competition from exchanges including London, Hong Kong and Tokyo. It turned into local IPO.

It seems that the plan just failed and they push the IPO trough in local exchange so that they don't lose their face.

<comment><AUTHOR> You are right. I think the killing of Jamal Khashoggi also played a role in keeping foreign investors at bay.

</comment></comment><comment><USER3> So they've sold off a trivial fraction of the company and kept the rest — what are they hoping to achieve?

</comment><comment><AUTHOR> This is $300 billion short of initial $ 2 trillion valuation</comment>


Ask HN: Any advice for a high school graduate? - <AUTHOR>

Hey HN,
Just finished high school a few months ago. I donot have the money for college nor am I motivated to go. I figured out that I cannot work for someone but at the same time I also cannot run a business.
I wanted to escape from the tech/freelance/start-up world and have tried many times but some how opportunities come my way and I end up right back in.
Now I know the technology sector is where the money and jobs are but I donot plan to sit down and program for 5 hours straight for the rest of my life.
Thanks for your help. <comment><USER2> I'm confused...as to why you don't want to go to college, why you can't work for someone and why you can't run a business. For a such young person it seems you've ruled out a few too many possibilities. What else is there...welfare? The fact is, you can do anything if you have the willpower, and it doesn't seem like you've had enough time to figure out your potential yet. What do you want to do?

I'd suggest you go to college. If you don't have money, there's financial aid, and you can get a job when you get there. It will open doors for you, you will learn something, and most importantly, you have time to figure out what you're good at, what you like, and what you really want to do with your life.

</comment><comment><USER3> Find motivation. You're not going to get something handed to you on a golden plate.

Suck up whatever it is that you're confusing for pride and go to a local community college. Take some classes there. It'll be cheap. As in, work a shift at McD's once a weekend and you can pay for a class or two. And talk to their financial aid office. I'm absolutely positive they can help you out.

</comment><comment><USER4> Work hard enough (and smart enough) early enough in your life and you can have an option of taking it easy later in life. If not, you won't even have that option later. Just make sure that you work hard in an area that can help you make money.

But, irrespective of what you say in the post, I think you are already on the right path, you visit HN and you ask for advice, thats definitely a great start.

About the part one not being able to run a business, nobody is born with that capability, they learn one way or the other. So if you learn, you can run one sooner or later.

If you learn enough and fast enough, you don't have to program for 5 hours for the rest of your life, you can manage others who have to program for 5 hours, for you.

Good luck.

</comment><comment><USER5> It doesn't seem like you really want to be a developer? No motivation to code, work, go to school, run a business, or even be in the tech industry.

Go to community college - you don't know what you want yet.

In terms of getting a job now - yes it is possible. Although not a programming job - I did go full time at a start up when I was 19. It just takes motivation to learn and improve.

</comment><comment><USER6> Ha! 5 hours is a taking-it-easy day for me =P. Seriously, find something for you that does the same thing as programming for me, something that gets you excited and passionate, and then you won't have to work for the rest of your life. You'll get paid to play.

I'm curious why you think you can't run a business OR work for someone else. What other options are there? You have to make money to live. Besides, it's like life's scorecard -- create value, get rewarded with money.

If you really are that clueless about your future that you can't see yourself as an employee or a business owner, then you probably need to be an employee until you figure out something you're passionate about, then you can think about making a business around it. Employment is for people who can't figure out how to convert value to money directly, so they sell their time for money instead. But you gotta pay the bills one way or another.

<comment><AUTHOR> Yep 5hrs is an easy day.

I cannot run a business because I'm too moral. To run a business means paying people just enough to live and not their true value (at least at the start up stage of a company) which screams of exploitation.

I have issues with accepting money and I'm assuming its a result from subconscious programming and being very poor. I also feel awkward managing and teaching people three times my age. Sometimes I just want to be a kid again and be around teens my age, ironically I tend to get along better with adults. Then there is always the risk of the venture failing.

I cannot have a boss/work for someone because I dislike authority and hate having eyes preying over me. I also like to have a bit of freedom and flexibility and see ways the organization could be more efficient which the boss doesn't see.

Great definition of employment and spot on pertaining to the bills. College also feels as if its just a machine spitting out cogs for the system.

<comment><USER7> Stop thinking like a poor person. Seriously. It will comprehensively undermine your efforts to not be poor. (Learning how to fake being upper class is one of the best reasons to go to college, by the way. I didn't exactly do polo when I was younger, but I've learned enough to hide obvious traces of that in professional situations. Simplest possible example: watch how successful businessmen act when told "No" by someone in a position of momentary authority versus how poor people act. The magic word is "options", as in "OK, what are my options?" There are almost always options, no matter how much the DMV clerk/airline CS drone/etc is saying policy this and rules that.)

Running a business is not coextensive with underpaying people. Heck, running a business isn't coextensive with _having employees_. I've been doing this for a couple of years and nobody but myself goes hungry if I don't make payroll -- when I need something done, I buy it from another small business and at the end of the day I pay them what we agreed on and we're even. On the other end of the scale, there are many people on HN who pay their employees _quite well indeed_ and who still do quite well for themselves. (While they're not exactly as prevalent on HN as they are in the real world, there are a lot of 5 man software companies busy cranking out boring systems which do boring things that make boring seven figures a year in profit and have boring sharing arrangements where the employees make boring bonuses and the principals sleep on boring piles of gold coins.)

A talent for obsessive optimization is a gift in running your own business, as long as you _also_ get stuff done. I have known people who are born optimizers and I also know people who are just lazy. If you're just lazy, business may not be for you.

<comment><AUTHOR> Well said! I happen to be apart of one of those "5 man" companies, its much easier said than done.

</comment></comment></comment></comment><comment><USER8> 5 hours straight? I think you mean 8 hours straight. Or 12.

<comment><USER9> I think a lot of hackers may _think_ they're programming for 8-hours straight, but if they actually measured it, it wouldn't be anywhere close. RescueTime did a survey of YCombinator companies once, and _nobody_ hit 10 hours a day of pure, typing-in-editor coding time.

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

Now, it's now 1:00 AM, and I'm still coding stuff for work, having been at it since about noon. But that wasn't even close to continuous coding time. There was a break for the massage chair in there, and a break for beer o'clock, and a break for snacks, and a discussion with the Dojo guy and the GMail guy and the Docs girl about JavaScript, and a break for air hockey, and a break for chinese take-out & D&D, and a few Hacker News sessions. I find that the most I can do in a continuous stretch is about 2-3 hours. I can fit a few of those into a day, but I rarely manage more than 7 hours of actual coding time per 24-hour period.

<comment><USER8> Interesting perspective into the life of a hacker!

</comment></comment></comment><comment><USER10> So come up with an idea that will make money and go for it!

Maybe bounce some ideas off of people in here.

It all starts with an idea.

<comment><AUTHOR> Great suggestion! I am working on a start up or two but its a bit scary.

</comment></comment><comment><USER11> <http://news.ycombinator.com/item?id=1711179></comment>


Why SQLite succeeded as a database (2016) - <AUTHOR> https://changelog.com/podcast/201 <comment><USER2> SQLite is a wonderful database. We use it in production many times over for all of our clients. Not having to worry about whatever arbitrary SQL Server installation is available in a particular environment has saved us so much time and frustration. Combine SQLite with .NET Self-Contained Deployments means that we (our automated tools) now copy our software distribution zip to target, extract to path, run executable as administrator and walk away. Without SQLite we could not do this.

Migrations are also hilariously easy with SQLite if you use the user_version pragma. We have a monotonically-incrementing number to indicate each version. Our migrator first queries this upon startup and runs all the migrations that exist between current user_version and whatever our highest sequence # is (defined as a constant in code). Some might argue that you should just use EF (or whatever language-specific ORM), but I prefer the level of control and the substantial performance boost you get with raw SQL and a simple migrator approach. I cannot speak for EF Core, but EF6 performance was absolutely abysmal in some more complex cases.

I would also say that performance might surprise you if you turn on WAL. I have saturated NVMe disks inserting lots of data into SQLite. The trick is to use a single connection and let SQLite handle the serialization for you, rather than try to manage multiple connections to the same file in code (i.e. one connection per logical operation sucks for SQLite).

<comment><USER3> My only grievance, and a blocker, is that SQLite does not support decimal numbers, making it less practical to work with finance related data.

<comment><USER4> Wait, there are finance applications that don't forbid floating point numbers ??

<comment><USER5> I'd like you to meet my friend "Excel"...

<comment><USER4> I mean for professional applications, not amateur stuff.

<comment><USER6> Excel is used for very very expensive professional tasks.

</comment></comment></comment></comment></comment></comment><comment><USER7> I remember listening to this when it was recorded and I still remember details from it years later – probably my favorite Changelog podcast ever. It's obviously very foolish to make software choices based on how much you like its creator as a person. But Richard Hipp comes off as a guy so likable that goshdarnit, I hope his little project succeeds. Jokes aside, though, I don't think it's entirely coincidence that SQLite, something that is so good and reliable, was made by someone who seems so conscientious and thoughtful.

Though I have to admit, I was and am still disappointed to learn that the official way to pronounce SQLite is "S-Q-L-ite", i.e. "like a mineral".

<comment><USER8> I thought it was always pronounced "sequel-ite" personally

<comment><USER9> MySQL is the same way. A lot of people say My-sequel but I think its supposed to be my-ess-que-ell

<comment><USER10> PostgreSQL is the fun one out because they officially say it is Postgres-Q-L.

The "it's always S-Q-L and never `sequel`" is IBM's fault and an early trademark infringement issue in computing. (IBM was told it couldn't call it "SEQUEL" by an aircraft company.)

<comment><USER11> I typically go with just "postgres" for phonetic pronunciation. Not sure how else it would be done; "postgres sequel?"

<comment><USER12> I've heard Postgres pronounced as if it were French. "Postgree."

<comment><USER13> I've heard that, but assumed it came from splitting up the name as "Postgre"+"SQL"; if you leave off the SQL part you get a word ending in E, and "postgreh" can't be right, can it? :)

<comment><USER10> Which is why I've also heard developers that either assumed the 'g' was silent or a transposition problem and you get "poster SQL", "postreg SQL", or worst of all "posgret SQL".

Somewhere, I believe in an HN comment, I saw a Postgres developer say that one of the biggest regrets of the project naming was capitalizing that "shared S".

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> One thing that I wish more people realized, especially ones developing native apps, is this: unless you really need an specific file format for your application, don't design your own. Just use SQLite. You get so much out of it (including features like undo), as well as a huge toolkit.

<comment><USER15> And you lose the ability to quickly change settings in a text editor, to have multiple settings files, to have tiered (system, local, project) settings files, to version them in source control, etc. Instead of learning ini, josn and xml you'll have to learn whatever schema project x uses and there will be more schemas than file formats. Plus SQLite might be fast, but it's still a lot more overhead than parsing an ini file.

<comment><USER16> > unless you really need an specific file format for your application

It's all about choosing the right tool for the job.

There's great reasons to use xml files over SQLite, but that mostly comes down to needing a file to be human readable versus file size.

In the product that I work on, I moved very small tables out to xml files because it's easier to inspect them in a text editor instead of expecting non- developers to figure out a database. These files are also small enough and are written infrequently enough that any performance difference between xml and SQLite is negligible.

The vast majority of data is in SQLite. An older version of the product would always write out a giant xml file, but when the xml got big, performance suffered. In this case, SQLite is the correct choice because it can make a small change to the database without needing to rewrite the entire file.

</comment></comment></comment><comment><USER17> While everyone's praising SQLite, I want to note that SQLite type system is absolutely horrible. When you can store string in the integer column, you don't have a type system. And it's absolutely not intuitive for people having experience with other databases.

<comment><USER18> I agree, if you want dynamically typed columns then just define a separate Any or Variant type. I don't see the point of schema if it's not enforced.

<comment><USER19> Hipp talks about that in the interview a little bit:

> SQLite really started life as a Tcl extension, Tcl being the programming > language, the Tcl/Tk. The project I was working was working on was written > in Tcl/Tk and so SQLite began as a Tcl extension and as a scripting > language, like Perl or Python, where you can put any type of value you want > in a variable. So a variable might hold a string, a number, a byte array or > whatever. So I made SQLite the same way, where just because you've declared > a column of a table to be text doesn't mean you can't put integer in there, > or just because you declared a column in the table to be a short int, why > not put a 2-megabyte blob there? So what? It'll do that.

> Or if you have a column that's declared integer and you try to put text in > it, it looks like an integer and it can be converted without loss. It will > convert and store it as an integer. But if you try and put a blob into a > short int or something, there's no way to convert that, so it just stores > the original and it gives flexibility there. And this is useful in a lot of > cases, because sometimes you just have a miscellaneous column in a table > that you might need to store lots of different things in. And in traditional > database systems you actually have to have multiple columns, one for each > possible data type, whereas in SQLite you put it all in one column. So it > works well.

> And for that matter, with SQLite you don't have to give the column a type at > all. You can just say, CreateTable T1 (a,b,c) and then you've got a table > with three columns named a, b and c and you put whatever you want there.

> Well, it flows directly out of the scripting language traditions. You don't > declare types for variables in Tcl; you didn't used to do it in Python, I > guess you can do it some, now. You don't do it in JavaScript… You just say > it's a var.

<comment><USER20> This apparently has roots in some ancient practices (Tcl is not exactly young). In 21th century, we likely don't need to save a few bytes and reuse a variable, and can afford to preserve our sanity instead. Well, we can even afford a built-in ACID-compliant SQL database!..

</comment></comment></comment></comment><comment><USER21> Sure, it is simple and that is why people use it.

But I have also run into hard problems using it. Deleting and renaming columns is not supported natively. On the internet one can find procedures to do that but they generally do not take foreign key references into account. Getting this right is a hard problem. In the end we had a function that could be used to rename or delete a column even without switching off foreign key checking but it was not simple and it was not the first iteration of said function and earlier iterations caused lots of subtle problems, like a column having a default value or not depending on whether the database was a new database or was created using schema updates.

Use at your own peril.

<comment><USER7> Not disagreeing with your overall point about SQLite's feature set, but IIRC, `ALTER TABLE RENAME` was added in 2018, for version 3.25.0: [https://www.sqlite.org/releaselog/3_25_0.html](https://www.sqlite.org/releaselog/3_25_0.html)

(I chime in only to remark that I myself am constantly surprised that SQLite continues to add these kinds of features – e.g. WINDOW functions were also in 3.25 – long after I had accepted their absence as a fact of life)

<comment><USER21> Ah, that is interesting. My experiences were before 2018 and I had not kept an eye on it, so I did not know this.

<comment><USER21> Ow, but looking at the docs they still do not seem to support delete yet.

</comment></comment></comment></comment><comment><USER22> While on SQLite, Hipp's fossil-scm is also another great piece of work. My personal favourite to start projects since I can keep code, docs and issues all in a single .. SQLite file! fossil is also just a single executable with no other dependencies and comes with a built-in web server complete with user management if you want to expose to a small group.

The main and real reason I love fossil is that I'm always at peace knowing that I can't accidentally bungle up the history. I'm always nervous about that when I use git .. still.

<comment><USER23> You can still bungle history with badly authored commits, though. This is exactly why I like Git - no need to think about how messy the history is while working on something, I can create lots of small commits tweaking things as I go, and then clean it all up into larger commits representing _logical_ groups of changes, with proper description etc.

<comment><USER22> I'm fine with my commit flow and commenting, which perhaps helps. I do use orphaned dirty branches. It helps that fossil's tags are reusable, unlike git's.

For me, there've been cases where I've worked on an angle, only to discard it for another approach .. and much later wanting to revisit that angle because it was a good idea. If I discard history to "clean it up", such a resurrection becomes impossible.

</comment></comment></comment><comment><USER24> We used SQLite at my company to allow users to write SQL queries against their db. When we hit the limit of it, we had to switch to Postgres. That migration is quite difficult and I wish we had used Postgres from the start. 20/20 hindsight but that was my first thought.

<comment><USER25> Were you using an ORM? I ask because most people use database switching as a selling point for using an ORM. I'm rather indifferent on the matter, but I'm curious.

<comment><USER26> As an alternative to an ORM, there is another great abstraction layer that works across a large number of databases. It's called SQL!

<comment><USER27> Until you realize that not even booleans are standardized between SQL dialects...

</comment></comment></comment></comment><comment><USER28> I'm glad something like SQLite exists. It's awesome if you want to store data in your applications without falling back to a full SQL database. I am also thankful for those client applications like "DB Browser for SQLite" [1]. It nearly provides the same functionality like SQL Management Studio, which is quite an achievement.

The only gripe I have with SQLite is with full text search FTS5. The last time I tried to store and retrieve text with associated metadata from another table was really confusing. It kinda worked in the end, but then I also realized that you can't do a contains-query on your text, just starts-with and ends- with [2]. This is a major flaw in my book. So many times I just want to dump tons of text into a table and want to query single words naturally, but I can't do that without resorting to hacks or unoptimized LIKE queries. And if I need to take into account typos or similarity, I'd have no idea how to do that with SQLite. Does someone have experience regarding this?

[1] [https://sqlitebrowser.org/](https://sqlitebrowser.org/) [2] [https://stackoverflow.com/a/24670334/998987](https://stackoverflow.com/a/24670334/998987)

</comment><comment><USER29> SQLite is a brilliant lightweight database which is available everywhere. All mobile OSs support it and it's a breeze to run on even embedded Linux. I just wish web browsers would also support it and make webSQL a standard, it would make programming for the web so much easier.

<comment><USER30> Once I discovered SQLite, I never went back. It's so easy. I'm still shocked when I see docker compose files that spin up entire MySQL dbs when a simple SQLite connector would be so much easier!

<comment><USER31> Whether it is in staging, in dev or in tests, use the same DB engine as in prod. It _will_ save your butt sometimes.

Also, my docker-compose for a Postgres container is literally:

        services:
          db:
            image: postgres:10
            ports:
              - "5432:5432"

"so much easier" seems very hyperbolic. Not denying that SQLite is an amazing piece of software though!

</comment></comment></comment><comment><USER32> Something I see some developers do which I don't recommend is using SQLite for testing environments when they're using PostgreSQL in production. SQLite3 doesn't support a lot of types that PostgreSQL does and it doesn't support things like full outer joins. Save the headaches of debugging in production and spin up a docker PostgreSQL instance since testing environments should emulate production environments as much as possible.

<comment><USER33> > _and it doesn 't support things like full outer joins_

This at least is possible to fake. But in the era of premade docker packages for postgres, I do wonder why the practice you describe persists.

<comment><USER32> I know some people with a certain generation of Macbook or macOS version have had bad luck running docker which causes their fan to go nuts and resources get drained so they prefer to avoid docker if possible.

</comment></comment></comment><comment><USER34> >... they realized that if this is a critical part of their infrastructure, they needed to make sure my business was sustainable.

>So companies which are typically large companies that really depend on SQLite as part of their product, they just pay us an annual fee.

>... we are a 100% engineering shop.

An intriguing option for anyone sitting on an original infrastructure solution, and looking to turn it into a livelihood, with quality of life as first priority.

</comment><comment><USER35> The interview transcript is much appreciated! I hate it when random two-hour podcast has a 15 minute interview I want to listen to, and have to go hunting for it.

<comment><USER36> Which is a shame because most podcast apps have chaptering systems where particular interviews and segments can be easily bookmarked. Even without that feature show notes can include links and timestamps to particular segments too but many shows don't bother because it's extra work.

</comment></comment><comment><USER37> I came to SQLite recently having used big iron enterprise tools for my analytical work previously (namely Oracle), and wow, what a lovely elegant tool. It isn't just super useful for web and embedded applications, it is quite a powerful and convenient analytical tool for quickly ingesting huge flat files and querying them.

</comment><comment><USER38> Because they took reliability seriously.

If the people who did the original Macintosh "resource fork" updater had been serious about maintaining consistency of the data structure, that approach would have lasted longer. That was a really good idea, badly implemented because they had to cram it into 128KB and use a floppy. Unfortunately, it wasn't rewritten when the Mac line got more memory and hard disks.

Somebody had to get the open source world past using text files for everything.

</comment><comment><USER39> AFAIK nomadlist.com by @levelsio is using SQLite in production. He has a bunch of data, plenty of users and his site is very fast. Proof that you can use SQLite in production on a successful project.

</comment><comment><USER40> Serious question, how in the heck did the podcasters get their transcript? Did they pay someone to edit a machine translation? That is one of the coolest things I have never seen for any podcast!

<comment><USER41> Asked and answered here:

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

<comment><USER42> Yeah except that is a different podcast...

<comment><USER41> ... except it's the same answer, only their response is more detailed.

</comment></comment></comment></comment><comment><USER43> I found this fascinating, as a student we are taught to use SQLite and then told to use PostgreSQL for production. I am told that a large amount of mobile native apps use SQLite. Does anyone have any stats on this? Seems like a nice choice, but the searches I have done are all over the place.

</comment><comment><USER44> Meta: this podcast's RSS feed only goes back so far (2018). So I have no way to add/listen to this episode in my podcast app?

<comment><USER42> We used paged feeds[1] for our RSS, but not all podcast clients support it. I might end up going back to a full feed, but remove the show notes, etc from older episodes to keep the file size smaller...

[1]: [https://podlove.org/paged-feeds/](https://podlove.org/paged-feeds/)

<comment><USER44> Ok that makes sense. But I use Overcast, so how can I listen to it?

<comment><USER45> I use Huffduffer[1] either by searching for someone who has added it already[2] or adding it directly with details and a link to the mp3 myself. Then add your huffduff feed to Overcast (can add based on tags also).

[1]: [https://huffduffer.com/](https://huffduffer.com/) [2]: [https://huffduffer.com/neaj/543363](https://huffduffer.com/neaj/543363)

</comment></comment></comment></comment><comment><USER46> I've worked on a few internal tools for the company I intern at and I've always been told to use Postgres. Don't get me wrong, I love Postgres, but for an internal application that won't get any significant concurrent interaction, Sqlite is the way to go in my opinion. Maybe I'll try to mention it at the next meeting.

<comment><USER47> And you'll be told their production is using PostgreSQL.

Having identical environment makes life easier. I never run anything on my Mac despite many Unix daemons being available but either run it remotely on Linux or locally via Linux VM with same distro.

</comment></comment><comment><USER48> Is there a database file format that supports columnar storage query able via SQL? For OLAP style queries.

I've tried SQLite for this usecase but the query falls down when querying millions of rows.

I know there is parquet file format but I'm wondering if there is like a SQL engine that can sit on top of something like that similar to SQLite

</comment><comment><USER49> Here's the MP3 file for those who can't stand 1x playback speed: [https://cdn.changelog.com/uploads/podcast/201/the- changelog-...](https://cdn.changelog.com/uploads/podcast/201/the- changelog-201.mp3)

</comment><comment><USER50> Is there really any other file based SQL alternative anymore?

Back in the day on Windows you would use the Jet (MSAccess) db for this purpose or maybe dBase before that in DOS. Many apps that need to store data would use them as it did not need a server process just a library.

I guess you have some NoSql options like LevelDB, but its really nice to have a full ACID SQL engine running in process.

I always thought it would be great if PostgreSQL could separate into a library for the DB with a server that uses the lib or you could use the lib directly in your process but I would imagine the process model is baked heavily into the DB engine.

<comment><USER27> h2db for java

</comment></comment><comment><USER51> Don't forget about SpatiaLite! Having a GIS-capable lightweight database, without relying on a typical DB system is pretty nice too.

</comment><comment><USER52> My app had been running on CodeBase (dBase clone from Sequiter) for twenty- five years. When we converted to macOS, CodeBase wouldn't compile for 64-bit. Panicked, I turned to SQLite. Miraculously, we were able to switch in a couple of weeks. It is indeed a pleasure to work with. Especially with tools like DB Browser to poke around with.

</comment><comment><USER53> We are currently working on IoT solution where we deploy many distributed computing units with leaf devices and SQLite works flawlessly to keep local state on the remote devices. There may be other solutions but this was a no- brainer for us and so far we haven't had any major issues with it.

</comment><comment><USER54> Obviously because it's awesome in so many ways. The only thing I miss when using SQLite are implementations in high-level programming languages. In many cases (e.g. with .Net WinForms) using a native library is a pain while the speed native code provides is not always necessary.

</comment><comment><USER49> I also recommend this great video walkthrough of SQLite from Richard Hipp: [https://www.youtube.com/watch?v=Jib2AmRb_rk](https://www.youtube.com/watch?v=Jib2AmRb_rk)

</comment><comment><USER55> Benedict rule.

</comment><comment><USER56> It does one thing and does it well.

</comment><comment><USER57> I use SQLite for demo projects and it is very cool!

</comment><comment><USER58> TL;DR because it's simple.

<comment><USER59> Is it simple, though? I mean, reading about how they test it[1] leads me to believe it is not simple. Maybe it's simple compared to Oracle, and maybe _using it_ is simple, but the actual implementation is definitely _not_ simple.

[1] [https://www.sqlite.org/testing.html](https://www.sqlite.org/testing.html)

<comment><USER58> I don't care about the implementation and I congratulate the developers on abstracting all of that complexity away from me. That's what good software does.

<comment><USER59> I misinterpreted your comment. I thought you were saying SQLite was successful because SQlite itself (i.e. the implementation) was simple, not because it was simple to use.

<comment><USER60> For what it's worth, I use "simple" for talking about the complexity of the thing, and "easy" for the user experience. Quite frequently easy things have to be complex because the cognitive load gets shifted into the machinery.

E.g., compared with a Model T, modern cars are much easier but much more complex because the car itself understands things like adjusting the ignition timing and safely getting the motor turning, things that a Model T user had to understand if they wanted to avoid getting a broken arm before they got out of the driveway: [https://www.fordmodelt.net/how-to-drive-ford- model-t.htm](https://www.fordmodelt.net/how-to-drive-ford-model-t.htm)

</comment></comment></comment></comment></comment><comment><USER61> I find it remarkable that it succeeded, despite its complete and utter lack of security. It's trivial to overwrite its metatables to create rop chains via select, it's default fts hook is insecure. It's basically a hack. [https://research.checkpoint.com/2019/select- code_execution-f...](https://research.checkpoint.com/2019/select- code_execution-from-using-sqlite/)

</comment><comment><USER62> For all the great things about SQLite there are some concerning things around the project.

First off, even though the source code is public domain, you can't contribute since it is closed source: [https://sqlite.org/copyright.html](https://sqlite.org/copyright.html)

There are 3 developers who maintain the project [https://www.sqlite.org/crew.html](https://www.sqlite.org/crew.html) and operate under a "code of ethics" that used to be called their "code of conduct" [https://sqlite.org/codeofconduct.html](https://sqlite.org/codeofconduct.html)

While it succeeded in getting widely adopted I have trouble believing that this is sustainable.

<comment><USER63> they have contracts to support the US military for many decades into the future. Hard to be more sustainable than that.

<comment><USER62> There are 3 people on the planet who can make changes to it and one person who can work on their custom made source control system. Single points of failure are not sustainable.

<comment><USER64> Well, it's been popular for 20 years, so that sounds fairly sustainable to me. A lot of projects with many more contributors have come and gone in that time period.

Either way, that doesn't make it "closed source" like you said in the other comment.</comment></comment></comment></comment>


Ask HN: Are there popular non-English "life hacking" blogs? - <AUTHOR>

Are there blogs like Lifehacker and Makeuseof in other languages (Spanish, Chinese, French)? If so, do they have a large following? <comment><AUTHOR> Turns out that the Google is my friend. I just found this list: [http://www.mygtdstuff.com/2008/05/gtd-and-life-hacking- aroun...](http://www.mygtdstuff.com/2008/05/gtd-and-life-hacking-around- world.html)

</comment><comment><USER2> habrahabr.ru - Russian version of HN has a large following.</comment>


Fidel Castros Blog - <AUTHOR> http://www.cuba.cu/gobierno/reflexiones/reflexiones.html

<comment><USER2> I was in Cuba on a "cultural visa" for a week about 10 years ago and a few things struck me:

\- There are no rich people and there are no poor people. I didn't see a single homeless person / beggar but I also didn't see a single person that looked "middle class" in US terms.

\- People seemed really happy to talk to Americans. I remember talking to a woman celebrating her 86th birthday and she told me (through a translator that she'd "see me next year in Miami".).

\- Based on my understanding of the USSR, I was expecting a cult of personality around Castro, but there was no 'Placa del Castro' or anything like that. The only cult of personality was for Che Guevara, who was everywhere.

\- There were two economies...one for tourists and one for Cubans. If a Cuban had a job, like in a hotel, where they could get dollars, they would be very well off. Everyone else was left with ration cards.

\- We met a kid who spoke English but was afraid to talk (or to be heard talking) in English in public. He took us to his house where we talked for several hours and then there was a party (his grandmother's 86th birthday) where we (a friend and I) drank rum and partied until the wee hours. The rum was in a really old plastic jug (from the 80s?) that they would pour they monthly ration or rum into...they saved up for celebrations.

Overall I walked left thinking that Cuba would be a great place to live for most people but if you were the "Bill Gates" of Cuba it would suck. I suspect that when the embargo ends and sanctions are over (both ways) Cuba will become the "Caribbean Tiger" like Ireland or South Korea. The population is very healthy and education but the infrastructure sucks. All they need now is capital investment and they will really thrive. I suspect in the long run (as in 100 years) Communism will have served Cuba well relative to it's regional peers that didn't experience Communism...similar to China.

<comment><USER3> I was there earlier this year.

 _There are no rich people and there are no poor people_

That is just not true. In central Havana, there are buildings that are literally crumbling - they couldn't exist in a Western city, they'd be condemned and torn down, but there are three families crammed in there, electrical cables strung across the street, corrugated aluminium in place of glass in the windows, wooden door and window frames rotting. . But if you head out to the suburbs and have dinner at a paladar, there're people living one family in a gorgeous Spanish colonial mansion with landscaped garden, a pond and a gazebo, who want for nothing and amuse themselves by entertaining Western guests.

In a society where everyone is equal - how do you get that?

<comment><USER2> I suspect it's gotten worse in the past couple of years, but also I was benchmarking against the peer countries in the region where there is destitute poverty juxtaposed with billionaires.

</comment></comment></comment><comment><USER4> I love Reflexiones del Comandante en Jefe. I had the opportunity to study at the University of Havana in 2009. I read Fidel's "blog", which appears on the front page of Granma, the country's biggest newspaper, every time he publishes a new article.

Want to improve your Spanish? Read Fidel.

You can also follow Fidel Castro on Twitter - <http://twitter.com/reflexionfidel>

<comment><USER5> > I had the opportunity to study at the University of Havana in 2009.

What are your impressions of the country?

</comment></comment><comment><USER6> Meh, I was hoping for blog headlines like:

"Cuban Cigars- worth the hype?"

"Western Society - I mean, seriously"

"Now THIS is a hand-made boat you could emigrate in!"

etc...

<comment><AUTHOR> 18 ways to stay in power when the entire world is against you!

<comment><USER7> Funny, but the answer is that part of the Kennedy-Khrushchev agreement to end the Cuban Missile Crisis was that the United States wouldn't invade Cuba, and anyone else with the force to do so was a NATO member/American ally.

This is speculation, but looking at how the Cold War played out, then without that agreement the U.S. likely would've invaded Cuba at some point or other. It was still a good agreement overall because of the Moscow-Washington Hotline getting installed, though one can look at history and wonder if the Cuban people would've been better off living in an American territory similar to Puerto Rico instead of a backwards impoverished dictatorship. Hotline Agreement was good though -

<http://en.wikipedia.org/wiki/Hotline_Agreement>

<comment><USER8> >backwards impoverished dictatorship.

You mean the one under the Batista regime?

<comment><USER7> > You mean the one under the Batista regime?

"one can look at history and wonder if the Cuban people would've been better off living in an American territory similar to Puerto Rico instead of [under Castro's rule]."

You might not agree it would be better for certain, but you definitely can at least imagine an American Cuba that's healthier than the current Cuba. It's not a particularly high bar.

<comment><USER9> "Healthier" is one of the only words that I would _never_ use to describe an American Cuba — their Soviet subsidy led to them educating a ridiculous percentage of their population as doctors, so many that most work in other fields. Even now they still have twice as many working doctors per capita as the US, and are third in the world behind San Marino and Monaco: [http://www.wolframalpha.com/input/?i=doctors+per+capita+all+...](http://www.wolframalpha.com/input/?i=doctors+per+capita+all+countries) — I can't find good historical data, but I'm pretty sure it was even higher back in the 70s.

Their mortality rates are the same as the US, and the food they eat is a lot healthier out of necessity due to low industrialization.

<comment><USER3> And yet, a bartender or cab driver makes more in tips from Western tourists in a day than a doctor does in salary in a month.

<comment><USER9> Which is why the AMA in the US uses collective action to strictly limit the number of new medical degrees and licenses. They also do a lot of lobbying to ensure that their job territory is not encroached upon by nurses, EMTs, or other potentially capable non-doctors.

If getting a medical degrees leaves you with no debt, and practicing as a doctor saddles you with little liability, why would you be able to demand a high salary?

<comment><USER3> Surgery is one of Cuba's main regional exports - IIRC they have a deal with Venezuela where they trade eye operations for oil.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Fascinating article and followup on some of Castro's changing views

"Fidel to Ahmadinejad: 'Stop Slandering the Jews'" [http://www.theatlantic.com/international/archive/2010/09/fid...](http://www.theatlantic.com/international/archive/2010/09/fidel- to-ahmadinejad-stop-slandering-the-jews/62566/)

"Fidel: 'Cuban Model Doesn't Even Work For Us Anymore'" [http://www.theatlantic.com/international/archive/2010/09/fid...](http://www.theatlantic.com/international/archive/2010/09/fidel- cuban-model-doesnt-even-work-for-us-anymore/62602/)

<comment><USER11> He said the second one was misinterpreted [http://af.reuters.com/article/worldNews/idAFTRE68C5A52010091...](http://af.reuters.com/article/worldNews/idAFTRE68C5A520100913)

</comment></comment><comment><USER12> this makes me glad blogs were invented. if this is truly fidel castro's blog, it is fascinating. I don't agree with the majority of the decisions he has made a s a leader, but there is no doubt he is a thoughtful man. Having a vision into what makes him tick...available on your computer or phone any time day or night...kind of remarkable.

<comment><AUTHOR> I agree, it is an incredible look into the mind of this leader. Whether you agree with his ideologies or not, it is a fascinating read. (just spent better part of an hour going through each of his posts)

<comment><USER13> You can agree or disagree with his ideologies - but you can't agree or disagree with putting innocents in jail, killing people, ...

<comment><USER14> >you can't agree or disagree with putting innocents in jail, killing people

Yeah, you can. It depends on your own personal philosophy, but the most common idea where this could be supported is (a slightly extreme version of) the greater good, or perhaps if you believe that the ends justify the means.

Disclaimer: I know very little about Cuba and Castro. Just being argumentative.

</comment></comment></comment></comment><comment><USER9> Hosted in blog format with an RSS feed: <http://monthlyreview.org/castro/>

</comment><comment><USER15> I will pay bank to see PG and Fidel Castro in a fireside chat. Just saying.

<comment><USER16> Make something people want.

vs

Make people want something.

</comment></comment><comment><USER17> I don't know his viewpoints very well, but it's interesting that the source of his posts look like they were created in Word. Does Microsoft sell that product in Cuba? hmm..

</comment><comment><USER18> Is this just a repost of his Granma articles? It goes back a couple of years, and makes me think we'd have heard about it sooner if it were a separate blog.

<comment><USER19> He's talking about the heat wave in Russia and the flooding in Pakistan. It's current.

<comment><USER18> right, i just meant that the archives here are back a few years, i saw that the dates are up to current news. What I meant was that we'd have heard if he'd started blogging independent from the regular articles he already publishes in Granma.

</comment></comment></comment><comment><USER20> His analysis of the Iranian issues is a bit frightening.</comment>