Ask HN: What are some of the better Hacker News apps? - <AUTHOR> It's been awhile since it was asked, so I thought it was time to ask again. I'd prefer something with a widget on Android, and I don't want to exclude iOS offerings for those who use that.
I'd also prefer better UIs, of course functionality is important, but in my opinion UI has a functionality factor to it as well. <comment><USER2> The best option I've found is [https://hckrnews.com/](https://hckrnews.com/)

Not an app, but I think it's better than almost all of the apps out there. Clean, quick, and has an "open in new tab" feature.

Rather than writing my own description, here's the pitch in the site's own words:

> Hacker News is a great resource. However, I seemed to constantly run into > two issues. 1. If I didn't visit at least once a day, top items would scroll > off the top pages and I would never see them. 2. If I was procrastinating > and visiting the page often, I would find it difficult to determine what was > new on the page. That frustration led to hckr news, a chronologic list of > items that have made it onto the Hacker News homepage.

([https://hckrnews.com/about.html](https://hckrnews.com/about.html))

I think apps don't have much to offer since HN has thread collapse and vote- undo these days.

<comment><USER3> +1 to that - I love that it's time sorted instead of prioritised by what other people have voted for. I procrastinate/visit enough that I can usually keep up to date with what's happening.

</comment></comment><comment><USER4> After trying many, I settled with Materialistic [1]

Its easy to navigate, allows good interaction with HN and is very stable.

[1] [https://play.google.com/store/apps/details?id=io.github.hidr...](https://play.google.com/store/apps/details?id=io.github.hidroh.materialistic)

<comment><USER5> I used it for a bit, it didn't load all the comments. I regretted using it as the default app for HN links.

<comment><USER6> Try disabling lazy loading. I'm on a consistently slow network and lazy loading sometimes doesn't work at all.

<comment><USER7> That feels like sufficient reason to not use this tool.

</comment></comment></comment></comment><comment><USER8> I've been using [http://hn.premii.com/about/](http://hn.premii.com/about/) forever now, the toggle night mode from the homepage is fantastic for switching between dark/light theme very quickly.

<comment><USER9> I second premii. It caches a lot of content which is useful in low-bandwith environments.

<comment><USER10> Also very happy with premii. Mostly due to the offline caching, but also the clean and simple layout, and integration with Pocket.

</comment></comment></comment><comment><USER11> Surprised nobody's mentioned: [https://app.hackerwebapp.com](https://app.hackerwebapp.com)

The web version is clean and fast, and there's a native iOS and Android app out now as well. (Funny backstory: before the native iOS app was released, the mobile web version already felt like a native app, and instead the native app is nearly indistinguishable from the web app. However, the native app is better in that links open up in the Safari View Controller, so it's easier to pop back and forth between websites and the news feed.)

</comment><comment><USER12> Honestly I just stick with the website. What do you feel that an app might give you that the HN website does not? Only on that basis might an app recommendation be appropriate as they all provide some features but are missing others.

<comment><USER13> The only thing missing is a notification when someone replies to one of your comments.

If you are active, your first "threads" page will quickly fill up with more recent comments, so you end up not noticing replies to older comments.

<comment><USER14> I like Dan Grossman's HN Replies ([http://www.hnreplies.com](http://www.hnreplies.com)) for that: it gives you email notifications of comment replies.

</comment></comment></comment><comment><USER15> I've been using [https://play.google.com/store/apps/details?id=com.manuelmaly...](https://play.google.com/store/apps/details?id=com.manuelmaly.hn) on Android for a long time. It seems to best jive with the ethos of HN -- stripped down design, focused on the content, and just works.

</comment><comment><USER16> Quite happy with Hews [1]. Unfortunately it doesn't seem to have a widget and hasn't been updated in a year (but it is open source).

[1] [https://play.google.com/store/apps/details?id=com.leavjenn.h...](https://play.google.com/store/apps/details?id=com.leavjenn.hews)

<comment><AUTHOR> Hm I'm liking this the most out of the ones posted thus far, and the lack of widget isn't a huge drawback. Being open source is a plus though! Thanks!

</comment></comment><comment><USER17> MiniHack for iOS is great

<comment><USER18> Yeah I've stuck with it for years now and while trying others every so often as it has bugs with voting and editing your own posts I think it's still the best by far.

<comment><USER19> Did you report the bugs? I once reported a bug in MiniHack and it was fixed pretty quickly.

I think I encountered the problem with editing your own posts but I post rarely on mobile and when I do I'm in a hurry. BTW a HN sandbox would be cool where you could test these things without causing noise.

What is the problem with the voting you mentioned?

</comment></comment></comment><comment><USER20> I keep going back to the website.

Although I don't like the design and it's not very usable of mobile (buttons are too small), my consumption flow depends on the "Open in new tab" functionality. This is also why I prefer the Reddit website to the app.

I would use a client that let me queue links/threads/comments for future reading. I'll probably end up building it.

<comment><USER21> Ironically I had to open this in a browser to make this comment (since no app supports that advanced feature) but FYI the mobile version of Firefox supports the queueing up of multiple links for later viewing, rather than immediately switching to the firefox app every time you open a link.

It's not perfectly analogous to "open in new tab" on a desktop but you might find it helpful.

I know nobody uses Firefox on mobile but it seems decent enough to me.

<comment><USER20> I use Chrome on my phone. "Open in new tab" works just like on the desktop.

I wish these basic commands were first class:

\- undo/previous/back

\- read later/snooze/postpone/queue

\- done/next/ignore/skip

\- more/details

\- agree/upvote/recommend/endorse

\- disagree/downvote

\- improve/contribute/comment/add

We could have focused interfaces like Tinder's (one item at a time) and easily navigate articles/comments/videos/reviews/products on any device.

</comment></comment></comment><comment><USER22> New apps shouldn't be needed for this kind of thing. Get an RSS reader and use [https://news.ycombinator.com/rss](https://news.ycombinator.com/rss). If you want to get your comment replies too, ask HN to start providing a feed for it, if they do, I couldn't find it. Start using the reader for everything you can. Most YouTube channels have a hidden feed, Reddit has feeds, most sites worth a damn have feeds. You will save countless hours of your life never having to sift through things you've already read or intentionally skipped. You can add your own filters for junk sites that are going to show you a pay wall, tell you to allow tracking or require you to sign up.

<comment><USER23> I tried that but it gets quite tedious with HN. Even with hnrss.org "frontpage" lots of stories show up. And even with a filter >10 points there's a ton to look at. Still haven't figured out a good way to consume HN.

<comment><USER24> Can you think of a feature a standalone app could provide to help with those concerns? Maybe you're just trying to consume too much at once? I leave my RSS reader running in the background against the regular feed and I've never felt like it was too much, even after the weekend. Only thing that bothers me is when titles get adjusted, they get introduced as new items but I'm willing to put up with that in order to never have to rescan over anything else ever again. I only have 4 other, very low volume feeds I deal with, maybe that's why HNs volume doesn't seem as bad to me.

</comment></comment></comment><comment><USER7> I'm working on my own Better and Improved, but for now i use hn.premii.com for my mobile needs, and hckrnews.com with a few userscripts for everything else.

EDIT: and hn.algolia.com for anything vaguely related to search.

</comment><comment><USER25> Tried a few, but honestly, the website seems to be better. I suppose the UI could be a little spiffier, but it not only works, but keeps working long- term. Most of the apps I've tried work okay-ish at first, and then fall into disrepair after a year or two due to some combination of developer boredom and site/API changes.

</comment><comment><USER26> Since I haven't seen anyone do so yet, I'll cast my vote for DWAK's app on Android: [https://play.google.com/store/apps/details?id=io.dwak.holoha...](https://play.google.com/store/apps/details?id=io.dwak.holohackernews.app)

</comment><comment><USER27> Are there any Android apps where you can get the Share menu from long press on URL in a comment? Tried all of the ones linked so far and none of them have this.

Reason? To feed my Pocket addiction...

<comment><USER28> I got a share option in the menu by long pressing the article in Materialistic

<comment><USER27> Doesn't work on URLs in comments. Helpful if someone posts an interesting looking link but I don't want to get distracted.

</comment></comment></comment><comment><USER29> I use Feedly on the feed. The huge advantage is that the design is clean and that scrolled down items are automatically marked as read.

</comment><comment><USER30> None. They (or rather the API) don't allow to comment or upvote. Sad.

<comment><USER31> Materialistic on play store has both of those functionalities. I'm commenting with it now.

</comment></comment><comment><USER32> Shameless plug but check out mackernews.com for a Mac app :)

</comment><comment><USER33> No complaints with Boreal (iOS)</comment>


Levels of engineer capability - <AUTHOR> https://www.linkedin.com/pulse/levels-engineer-capability-josh-tyler

<comment><USER2> All of the four levels end up with an engineer who "does what is asked". But sometimes an engineer has to push back and ask: "Why are you asking me to do this? It seems misguided and very expensive. What problem are you _really_ trying to solve by asking me to do this particular thing?"</comment>


ConvNet Features off-the-shelf: an Astounding Baseline for Object Recognition - <AUTHOR> http://arxiv.org/abs/1403.6382

<comment><AUTHOR> Quick summary for people who don't follow machine learning and computer vision:

A team from NYU recently open sourced their neural net model from a recent object recognition competition. The team from KTH used that pre-trained net as a feature extractor and applied it to other standard datasets by learning an SVM on the extracted features. This "simple" approach did as well if not better than most state of the art methods, which were hand engineered for the specific tasks.

</comment><comment><USER3> CNNs are great, but so prone to overfitting, thankfully that last few years have been good to the deep learning community - dropout, jitter, etc. - <USER2> combating these problems. Hopefully in the next few years more books are published to help dumb-down the material since reading a lot of these papers (in terms of trying to implement/expand/critique the material - just the history alone is interesting - hopfield nets, perceptrons, hebbian learning, ... ) is still very tough as results are difficult to reproduce

</comment><comment><USER4> There is a nice python wrapper, called nolearn [1] that uses a pre-trained CNN called DeCaF to extract features prior to the final classification layer. I found the results to be surprisingly good in a lot of situations.

[1]: [https://pythonhosted.org/nolearn/](https://pythonhosted.org/nolearn/)

</comment><comment><USER5> I have to wonder - are there some techniques to build the trained models by crowdsourcing?</comment>


The API wars are coming - <AUTHOR> http://gigaom.com/2013/11/24/arm-yourself-the-api-wars-are-coming/ <comment><USER2> This is hardly new... I find odd that people are excited by triviality.

The big problem with the micro-API paradigm is the lack of standard. Sure, they might all use REST, but the semantics of the data is highly arbitrary. Take 10 very similar web services with REST APIs, you'll quickly realize that they're all completely different and that you have to learn how to use them one by one. The solution to this is to standarize data, and I believe that the semantic web and linked data is a much superior approach.

<comment><USER3> Doesn't true REST (not the RPC kind) address these same things when implemented? Content types and hypermedia to allow clients to know how to access the data and follow links to linked data?

If we all built our APIs with a registered content type, it would really go a long way for standardizing APIs. Throw in some HATEOAS and you've got standards and links.

<comment><USER2> You're right. We're still a long way from implementing REST the way it was intented to be. And yes, it is in theory possible to automate conversion using hypermedia and such. However, none of that is going to happen until IDEs let use generate local classes from hypermedia models.

There's no reason why I shouldn't be able to select an existing data model (from some popular source, or microformats), and generate a REST endpoint in 1 click. There's no reason for anyone to manually create local classes that mimic these models, code the logic that convert the models in and out, and do a bunch of other manipulations using installed libraries. I just want to select the data, plug it through third-party libraries as a service (online APIs/functions, some of which being open source could be cached locally within the code), and be done with it.

We need to be able to reuse everything in a seamless way. Currently, reusing something often means more work and frustration, and most people end up coding their own lesser clones/forks that "does the job". Sigh.

<comment><USER3> What you're describing has already been done by SOAP+WSDL. Even the term "endpoint" is from the SOAP world, not the REST world. The IDE (usually) does all the heavy lifting of generating and consuming of these endpoints and the developers doesn't have to think about how endpoints are crafted.

REST is an architecture that can be implemented in many different ways, so I doubt there will ever be a one size fits all for REST. I think the real win will be when web frameworks allow us to work primarily with resources and representations instead of an MVC architecture.

</comment></comment></comment></comment><comment><USER4> The author is a VP at an "integration platform" company, what a coincidence.

<comment><USER5> Just because it is in the cloud means little. We have countless APIs that can be chained together. So? No doubt the cloud will not be a fad, but this post is just random hype.

</comment></comment><comment><USER6> What does this mean for privacy? Is the natural state of affairs for your data to be spread out in thousands of databases run by separate little API vendors?

<comment><USER2> First of all, there's no such thing as "your data". Nobody "owns" data, it just is. You don't own the photons your body reflect, you don't own the noise you produce, you don't own the ripple in the pool you dive in, you don't own the temperature of the room you heat. Data is a side effect of actions, and some of it happens to be captured by some agents. As you grow up, you realize that it's not about the data you "own', but it's about the data you "know". Ownership of data is an illusion, and all that really matters about data is knowledge.

Agents (people and/or machines) collect data to get a better idea of the world. The more you know about the world, the better you can navigate it. It let you make good decisions and accurate predictions. Collecting data is not good nor bad, it's just a natural process used to reach truth.

You used to have to collect all the data you needed yourself, leading to data duplication over distinct individuals. However, as communication improved, we started to delegate knowledge to third-parties. You no longer need to recall phone numbers by heart, as you can store this data in a cloud service you trust. However, we quickly realized that being too trusting can be a mistake, and that it is often necessary to spread data over an array of different knowledge base in order to make sure the data is not lost. This also helps with query speed and uptime, which is a practical bonus.

The way data will be exchanged in the future is quite obvious. Agents will gather data, and broadcast it over the network, to make sure that it's as available as possible. Nobody will care about where the data physically comes from or whether it exists in multiple places. Distribution and caching will all be done systematically for all data, and all you'll have to care about is the data itself. Once we have a good semantic framework and naming conventions, you'll be able to directly think about the data and completely ignore everything else. There won't be such a thing as "Facebook" and "Amazon" and "iTunes" and "Youtube". There will be People, Products, Music and Videos, and whether they come from service A or service B will be irrelevant.

The "API vendors" have 3 distinct jobs. First, they can act as relay/nodes that store/cache/distribute data. Second, they can act as functions/services that manipulate/transform data. Third, they can act as gateways with the physical world, acting as agents that read and write to the physical world (I/O). In any case, they offer an actual service, not data.

People will no longer pay for data. Data is cheap, data is easy to clone, data is easy to distribute. Therefore, data will be free and distributed without any restriction. However, people will still pay for the infrastructure, for the machines that serve them data on demand, for the machine that customize their data, for the machines that watch them, listen to them, talk to them. But data? People won't even imagine that data can or should be restricted, and won't care at all about the source of the data, they just want it fast.

The whole privacy issue is a non-issue that will resolve itself over time. It's not a technical issue, but a social issue. We don't have to fix privacy, we have to fix people. If there's anything accurate about this "API war", it's that privacy won't be a major concern. The real problem with the future described by the article is the inferior way APIs will communicate. They still require manual transaction, they still require the use of dirty adaptors to let APIs talk to one-another. This human intervention is not necessary, and semantic standards and ontologies are the key to this issue.

</comment></comment><comment><USER7> I'd like to understand better how these API providers are going to make money. By directly charging the access to their API?

<comment><USER8> You can check out this presentation on business models for APIs [http://www.slideshare.net/mashapeinc/the-art-of-selling- api-...](http://www.slideshare.net/mashapeinc/the-art-of-selling-api-i- edition) (Disclosure: I work for Mashape)

<comment><USER7> Thanks Ismael - only saw now your reply, but I'm very interested in this. I already received more than one request to create an API for hashtagify.me, but everybody disappeared when I said "money"...

</comment></comment></comment><comment><USER9> Um APIs have been around for a long time. Maybe cloud hosting apis are "new"... but other than that, it ain't new.

What could really take off is an API server platform that's decentralized and does authentication, api console, throttling, billing, etc.

</comment><comment><USER10> That article believes the reader is a moron.</comment>


MonetDB/e: embedded OLAP/analytics database - <AUTHOR> https://www.monetdb.org/blog/MonetDBe-a-mature-embedded-SQL-DBMS <comment><AUTHOR> This is a very interesting addition to the embedded analytics database landscape. MonetDB/e may hit a sweet spot.

I always enjoyed using MonetDBLite (with R), but it is no longer being developed. I understand that CWI has contributed to the development of MonetDBLite, DuckDB and MonetDB/e. It would be useful to know how DuckDB and MonetDB/e differ. The latter may have the advantage of building on a well established server.

For some other embedded databases, see [http://embedded-database.com/open- source-embedded-database-s...](http://embedded-database.com/open-source- embedded-database-systems/).</comment>


Net Neutrality Walks Into a Bar … (Comic) - <AUTHOR> http://recode.net/2014/04/28/net-neutrality-walks-into-a-bar-comic/

<comment><USER2> "Too slow? Upgrade to the Internet NewsHound Plus! package, for only $9.99 / month more! Includes unlimited speed to recode.net, wired.com, and many more, up to 1GB/month."

<comment><USER3> To access adult material just pay $299.99/month. Also to access adult material you also have to subscribe to following packages, Magelan Navigator, Yahoo! News and DancingMonkey.com</comment></comment>


Microsoft was leading the world in AR; now it's at risk of being left behind - <AUTHOR> https://arstechnica.com/gadgets/2017/08/microsoft-was-leading-the-world-in-ar-now-its-at-risk-of-being-left-behind/ <comment><USER2> Clickbait. There are far more business applications for headset AR in industry than smartphone AR. Smartphone AR is just a toy for the near future. Not to mention Microsoft's SLAM and therefore hologram stability is still the best in the business.

<comment><USER3> Its like suggesting that the gameboy meant the end of pc gaming just because everyone liked that pokemon thing so much. The applications are so different in terms of scope they're not really worth comparing even though they essentially do the same thing.

</comment></comment><comment><USER4> You could just as well ask if anyone wants through the camera AR that Apple and Google are pushing. Aside from Pokémon Go, which while successful was hardly a good example of AR tech, I haven't seen anything compelling done with through the camera AR. Snapchat filters are popular but not exactly a game changing application it seems to me.

</comment><comment><USER5> My guess is that Microsoft's bet is less in AR in its own right, and more that the "phone" \- a form factor that has changed once or twice a decade for the past 3 decades or so - is due for a form factor change. And they'd like to be ahead of the curve for once, rather than always catching up.

<comment><USER3> more like ar on a phone is always going to be a gimmick, its way easier to just interact with the phone in your hand than to try to look through it. Hololense isn't just augmented reality, its 3d hands free augmented reality. arkit is just shitty graphics pasted over your shitty camera view

<comment><USER6> Something that leaves your hands free and does AR is obviously the eventual form factor for our personal device, but hololens is way too bulky to be that thing. Maybe if they actually get it down to the size of a pair of lenses ... but that will take half a century.

<comment><USER7> Half a century seems rather pessimistic. Just thinking of smartphone form factor changes in the last few years, a lot of small form factor display technology advances have happened rather rapidly.

</comment></comment></comment></comment><comment><USER8> Unless Microsoft can somehow replace the smartphone with their headset. I personally would much rather use that.

</comment><comment><USER9> 2 different markets.

Break down the use cases:

1\. 3D Design - no go for phone

2\. immersive room - no go phone

3\. games - phone yes(treasure hut, secret messages, 3d avatars, masks)

4\. annotating 3d objects with notes - cool app

5\. even spacial based apps would be kind awkward with a phone. hold my phone at the wall to watch a big screen TV.

6\. gesture based manipulation with a phone?</comment>


Ask HN: Cheap cloud computing with GPU access? - <AUTHOR> I wonder if anyone knows where you can buy cheap CPU and GPU time for training neural networks? Google Colab's resources are free but seriously underpowered. What I need is a shell account with exclusive access to a high-end desktop GPU and a few gigabytes of disk space. Also, it needs to be cheap because I'm poooooor. <comment><USER2> I've used Paperspace.com a bit. It's cheap if you don't leave it online all night :)

Be sure to use their "ML in a box" image for least hassle

</comment><comment><USER3> You can rent a VM with GPU for less than $1/ hr on GCP, AWS, or Azure</comment>


Assange loses extradition appeal - <AUTHOR> http://www.bbc.co.uk/news/uk-18260914

<comment><USER2> This is probably an unpopular opinion for some of the HN population, but I wish that Assange would be extradited to Sweden. He's appealing extradition on technical grounds, and it's about time he went to Sweden and faced the judicial system there. All of the current proceedings are a sideshow which have nothing to do with the things he'd accused of.

He's accused of sexual offenses in Sweden, we have a working system of arrest warrants across Europe. Let's get on with it.

<comment><USER3> I agree with you. It's very hard to defend Assange's actions without appealing to paranoia. If he didn't commit the crimes, he ought to behave as though he has nothing to be afraid of. His flight from law is becoming a bigger story than the actual accusations--it's hard to look innocent while fleeing the authorities. If he really did nothing wrong, the appropriate place to prove it is in court, not on HN.

<comment><USER4> Are you actually saying "one who has done nothing wrong has nothing to fear"? That looks little too naive in this world.

<comment><USER3> I'm saying the accusations don't bear this level of paranoia.

</comment></comment></comment></comment><comment><USER5> My sense is that while people across the world are polarised in their opinions of Assange himself, there's still a lot of disquiet about the question of his (potential/likely?) deportation to the U.S. only to face a Grand Jury, as opposed to due process, the rule of law, and a properly constituted court.

As a non-American, it makes me wonder whether this isn't the time for a serious conversation about amending our extradition laws and treaties to exclude any jurisdictions that don't meet the basic standards of justice expected of a modern democracy.

</comment><comment><AUTHOR> The Guardian has some live coverage, but I figured the Beeb is a more authoritative source.

[http://www.guardian.co.uk/media/blog/2012/may/30/julian- assa...](http://www.guardian.co.uk/media/blog/2012/may/30/julian-assange- extradition-verdict-live-coverage)

<comment><USER6> If you mean social position/power as well as being state sanctioned and run then yes, the mighty BBC is more authoritative but if you are looking for the accurate up to date unbiased details then I would choose the Guardian any day.

Thanks for the link.

</comment></comment><comment><USER7> I have no opinion on what is happening to Assange. I don't know enough facts. I find it unlikely that there is a big conspiracy involving America though.

I find it somewhat ridiculous the number of appeals you can have. Assange lost on the original verdict, then the appeal. He can then appeal again. I assume if that fails he can appeal to some EU court?

Its like the deportation of Abu Qatada. One has so many appeals at their disposal I am surprised anyone can get deported nowadays.

<comment><USER8> > I find it unlikely that there is a big conspiracy involving America though.

Because there is absolutely no recent history of the US conspiring with friendly governments to circumvent the rule of law and illegally transporting, imprisoning and even torturing people that were considered a threat to the US, right?

And surely there is also absolutely no documented recent history of the US pressuring European authorities, especially the Swedish, to prosecuted people for crimes against US interests... _cough_ piracy _cough_.

You're right about one thing, if the US were behind it, it would be no "big conspiracy". It would be business as usual.

</comment></comment><comment><USER9> One step closer to Gitmo, one step closer to 1984 on steroids.</comment>


How can I fix a computer that is literally too slow to do anything? - <AUTHOR> http://superuser.com/a/511024

<comment><USER2> > a program called 'Optimizer Pro' is demanding money to 'remove 5102 files > slowing down my computer'

Have the malware applications that do this sort of pitch have the ability to "slow down" the computer without anything strange showing up in the task manager? If so, how do they accomplish this and how to fix the problem?</comment>


Lego's Solution to Boring Meetings - <AUTHOR> http://www.lego.com/en-us/seriousplay <comment><AUTHOR> Anyone try this at work? Would love to hear how it went.</comment>


"Let's not stop at Brexit. It's time London declared independence" - <AUTHOR> http://www.telegraph.co.uk/news/2016/06/28/lets-not-stop-at-brexit-its-time-london-declared-independence/ <comment><USER2> It became more interesting to me in the middle with

'Perhaps full independence is unlikely – but what about greater devolution for London?'

and

'Localism has been a big part of David Cameron and George Osborne's agenda, with the latter striking a number of "city deals" to devolve more powers. The new Mayor of Manchester, whether Andy Burnham or not, will have control over more policy areas than the Mayor of London, such as over health and housing.'

but I'm not British and don't have much context and don't know whether the Telegraph is still the Torygraph.

</comment><comment><USER3> I am not sure Londoners would love the landlocked existence. And having all their food delivered by plane. And paying lets say 1000-2000% of the current utility bills.

And with the City and the institutions in London - no way in hell the mayor of London to get more independence. He gets way too powerful that way.

<comment><USER4> What about the Thames?

<comment><USER3> Couple of artillery batteries in the English Canvey island will solve that problem.</comment></comment></comment>


Price Before Product - <AUTHOR> http://firstround.com/review/its-price-before-product-period/ <comment><USER3> I may be wrong, but cherry picking a number of successful products and an equal number of unsuccessful products and then attribute to the one that "price first" tag and to the second ones the "not price first" tag doesn't seem to me a valid method of demonstrating anything, at best is anecdotal data (and with some major oversimplifying of both the reasons for market success or failure).

<comment><USER4> Besides that, they keep saying things like "price first" but then talking about focusing on what customers actually want, like bigger cup holders. As far as I can tell bigger cup holders don't have much influence on the price of a luxury SUV.

<comment><USER5> It goes beyond what customers want to the intersection of want & willing to pay for. I find that in a lot of companies, there's a lot of "customers said they want x, so let's build it" vs. "customers said they want x and we've validated that they are willing to pay for that feature." If your customers are not willing to pay, how important was that feature in the first place?

</comment></comment></comment><comment><USER6> "Pay attention to price early" rings true. Everything else in the article seemed very anecdotal or cherry-picked.

This is what makes case studies about product success so difficult. With so many factors involved, any bold proclamation like "Price before product" is bound to have enough prominent counterexamples to render it useless in application.

Studies like this always remind me of Jim Collins' "Good to Great" controversy where several of the heralded companies went bankrupt a few years after the book was published.

Setting a good price before releasing a product is a lot easier said than done. Particularly for startup products which may not have great reference points. People are also generally not that good at figuring out what they're willing to pay for something.

I take "Price before product" as simply a catchy reminder to "think about price" as part of the long list of product requirements.

<comment><USER7> > People are also generally not that good at figuring out what they're willing > to pay for something.

I like to think about it this way:

1) what is the highest price I could charge without looking like an idiot for charging too much?

2) what is the lowest price I could charge without looking like an idiot for charging too little?

Now I have a price interval.

If it's SaaS, I set the highest price for the shortest subscription period (ex., 1 month), and the lowest price for the longest subscription period (ex., 12 months), while adding additional options in-between (ex., 3 months, 6 months).

This way, I feel like both sides are getting a fair deal, and nobody loses.

<comment><USER8> This sounds reasonable in isolation, but ignores the reality that the price you set is a big, blunt tool that determines who your users are. For some products, such as those that are challenging to start using but increase in value over time, your approach would filter out users who don't already believe in the longer-term potential of your solution. Is that a good or bad thing? Likely bad, but it depends on your product and the market it operates in.

If we distill this whole "pricing before product" idea down I think it's just a specific part of orienting to the needs and behaviors of users before designing the solution. Price is sometimes awkward to fit into something like user-centered design, perhaps because it affects users/needs, business viability, etc. but really it's one important factor among many. Maybe it's a very important, hard-to-change factor (likely true in luxury autos) but it can sometimes be a fairly insignificant or easy-to-change one (e.g. technology offerings with few substitutes).

<comment><USER7> > For some products, such as those that are challenging to start using but > increase in value over time, your approach would filter out users who don't > already believe in the longer-term potential of your solution.

This is a great point, and I have actually thought a lot about it. I came to a conclusion, that a great product should always be priced according to its the real value, whether users initially understand it or not. Those, who do, will eventually explain it to those, who don't. Apple is a perfect example: its hardware is more expensive, but it lasts longer and causes less friction to the end-user, even if the alternatives have similar specs on paper. The same could be said about the products by such companies as RAVPower[1], Minaal[2], and Montbell[3].

[1] [https://www.ravpower.com/](https://www.ravpower.com/)

[2] [https://www.minaal.com/](https://www.minaal.com/)

[3] [https://www.montbell.us/](https://www.montbell.us/)

<comment><USER6> How do you determine real value and how is your determination of real value the correct one?

Particularly in the context of the article, where the author is advocating for startups to set the real value of their products before launch.

I disagree with the Apple example in the sense that Apple typically launches products in burgeoning or semi-established markets. They have comparables to base their initial price range on and one of the world's strongest, high-end brands which typically targets the mid-higher end of the market.

Marketing and branding play a huge part of a product's success and ability to set prices. What is the real value of a good brand?

This is why it's tough for me to take the bulk of the article seriously. In theory everything mentioned is great. In practice, the world, customers, and startups typically don't yield enough information to do "Pricing before product" beyond anything more than a rough stab.

<comment><USER7> > How do you determine real value and how is your determination of real value > the correct one?

I try to answer the question: "Is it worth this amount of money for what it does, if it does it perfectly well?". I don't care about marketing and branding, and focus only on the product itself. If the value seems to be too low, I try to improve the product, not the marketing.

I think Tinder does an extremely great job at pricing using age-based segmentation, because that's where the real value of the service defers to the users. It's not that people above 30 can just afford to pay more - <USER2> literally can't afford not pay, since they don't have as many options.

<comment><USER6> > I don't care about marketing and branding, and focus only on the product > itself.

That's where I find your framework breaks down. You can't ignore marketing and branding. Apple, Tesla, countless companies would be nothing without strong marketing and branding.

A product is nothing if it doesn't reach consumers. A similar point was made upthread that pricing de facto segments your market. You can set the price to whatever you think is best. If you aren't reaching the right people or have trust issues with your brand, ex. a new, untrusted product, then no one will buy your product no matter how many features it has.

<comment><USER7> > You can't ignore marketing and branding.

Well, of course you can. Look at Craiglist[1]:

> In 2015, the AIM Group, which has calculated Craigslist revenue since 2007, > estimated that the company pulled in sales of about $396 million. Its 2016 > estimate of $694 million—an increase of 75% over the prior year—came down to > the fact that Craigslist bumped job posting fees in certain cities and > instituted them for the first time in others.

I am claiming, that marketing and branding should not determine the price of the product, not that it should not be used to communicate the real value of it.

[1] [https://www.forbes.com/sites/ryanmac/2017/05/03/how-does- cra...](https://www.forbes.com/sites/ryanmac/2017/05/03/how-does-craigslist- make-money/)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Why is this on the front page?

As others have commented here, this blog post reads like something you would normally see on a trade rag, making grandiose-sounding claims that are really kind of obvious ("think about price before launching a product") and backing them with cherry-picked anecdotes and questionable logic.

<comment><USER10> 20+ year entrepreneur here - I now evaluate every new product I create based on expected pricing and margins.

If I don't expect to have the highest margin product in the category I won't launch it.

Why? Because ad prices reflect the margins of the top company and its winner takes all.

</comment></comment><comment><USER11> I hate the initial comparison. Look, everybody knows that SUVs are the easiest type of car to sell, and compacts are the most viciously difficult. So starting your article with a comparison that is so obviously flawed hardly lends credibility to the point you are trying to make.

Edit: I still can't believe that they chose to compare it to Chrysler's complete inability to make a compact car that would sell in the early 2000s. As if putting price first would have fixed the Dodge Neon.

<comment><USER12> Sure they are now, but in the mid 90s? Porsche legitimately took a risk with the Cayenne when they started development.

The Rav4 was the first CUV (unibody SUV) and it only came out in '94\. The fact that a sports car maker was right there with Toyota is kinda amazing.

<comment><USER11> Sure but SUVs in general sold like crazy, they had a few years to watch the rav4 sell extremely well, BMW came out with the M3 at the same time, and Mercedes was already making a ton of money selling luxury SUVs. I just don't see how this is a good example of price before product, or how much of a risk it was given what was happening in the market.

</comment></comment></comment><comment><USER13> The Porsche vs Chrysler comparison is beyond silly. Luxury SUVs were (and still are) an emerging market in the early 2000s.

Compact cars in 2009, were not. And that's besides the fact that a bankrupt Chrysler was sure as hell designing every car they had to a strict budget. There's plenty of cars (most) that are built to a price first, then product, and many of them sell and perform unremarkably.

Up until the late 20th century Mercedes-Benz didn't set a price for their car before all their R&D and engineering was finished. They ended up producing some of the best built cars out there, that indeed did sell.

</comment><comment><USER14> This is how IKEA designs its products.

 _At IKEA we design the price tag first and then develop the product to suit that price._ _IKEA product developers and designers work directly with suppliers to ensure that creating the low prices starts on the factory floor._ _They consider maximising production equipment, using raw materials efficiently and applying technical innovations and the best possible design._

[https://www.ikea.com/ms/en_SG/about_ikea/the_ikea_way/our_bu...](https://www.ikea.com/ms/en_SG/about_ikea/the_ikea_way/our_business_idea/our_low_prices.html)

<comment><USER15> That makes a lot of sense. I know IKEA is often decried as low-quality furniture, but I'd disagree. In my experience, IKEA furniture is excellent quality _for the price it 's being sold at_, and they seem to have (at least) a two-tier system - extremely cheap stuff, and quality-oriented stuff at a higher price point.

Both provide ridiculously good value for their respective price points, IMO.

</comment></comment><comment><USER16> This is good advice for startup founders. Sure, you can nit-pick the examples used in the article, but you'd be missing out on the wisdom you could gain from it.

Innovative pricing can lead to completely new startup opportunities. Salesforce is an older example. Robinhood and Divvy[1] are recent examples.

Not everything has to be a per user subscription.

[1] [http://getdivvy.com](http://getdivvy.com)

<comment><USER17> Divvy seems to be free on first glance. How does their pricing work?

<comment><USER18> It is free. They take a cut of the interchange fees.

</comment></comment></comment><comment><USER19> I used to work as a management consultant in McKinsey and did several pricing engagements.

The Firm in question is almost exclusively focused on pricing projects and "price before product" framing is probably helpful in convincing potential clients. Take with a grain of salt.

</comment><comment><USER20> (posting anon because silicon valley is a small community, sorry take w grain of salt)

im a senior product leader at a successful saas post-IPO company that used "simon kucher" (author's employer), and specifically had the author as the lead consultant.

the work they did was "fine", but hardly earth shattering: they recommended effectively what we already knew we needed to do but leadership was too afriad to do. so the board convinced the c-levels to spend $500k+ on these consultants to effectively validate the findings.

pro tip: strong product leaders already have a really good idea what the pricing model should be. you dont have to spend a fortune to have someone unfamiliar with your business and market tell you.

[edit: technically Madhavan isnt the author but i dont really know who is]

<comment><USER21> >they recommended effectively what we already knew we needed to do but leadership was too afriad to do. so the board convinced the c-levels to spend $500k+ on these consultants to effectively validate the findings.

They did their job well in that case. And seemingly nobody in the company could do it so their fee was worth it.

</comment></comment><comment><USER22> Perhaps it's "Price Before Product" for B2C. B2B products and services seem to have a no limit for price. Just when I think a business wouldn't possibly pay that much, they do. I just saw a consulting firm charge $40k for a damn workshop. Nobody batted an eye.

<comment><USER23> How big a company? Did they have a CFO?

<comment><USER22> Fortune 100, yes.

</comment></comment></comment><comment><USER24> The author is correct, it is price before product. But the product needs to be functional for there to be a price.

The author says that customers weren't willing to pay for a fancy racing transmission. That's correct, people will ultimately choose the cheaper option if they aren't getting any utility out of the racing transmission.

But you can't go all the way to the other side and put in an unreliable transmission like for example Jaguar did in the X-Type. Those cars sold well at first, but now their resale is basically non-existent because the transmission goes poof about 3x faster than a Toyota's.

<comment><USER25> > The author is correct, it is price before product.

Given that the two main examples in the article are so controversial, can you give any examples where it was true, and successful? As consumers, we obviously don't know what price points most consumer products were intended for.

I've read that the Macintosh was intended [1] to be $500, but ended up selling for $2495. It's hard to imagine that a personal computer costing half the price of an Apple II in 1984 would have been able to include hardware/software that had such a significant impact on the industry.

[1]: [https://www.folklore.org/StoryView.py?project=Macintosh&stor...](https://www.folklore.org/StoryView.py?project=Macintosh&story=Price_Fight.txt)

<comment><USER24> I guess it's a complex topic but maybe we can stick with the example I offered? Or we could talk about Windows and Linux.

There's different bands of consumers, really. Like there are literally billions of customers on this planet who can't spend more than $1,000 on anything, full stop, period, even if it would radically improve their life.

So, the differences of an OS or a car are lost to them. The best they can ever afford is Linux or a chromebook or XP, not windows 10 or a macbook air. They'll never purchase a Porche, they're stuck with a beat up Camry or Monte Carlo if they're really unlucky.

</comment></comment></comment><comment><USER26> This is what's wrong with modern marketing.

<comment><USER27> Marketers are just doing what they can to make money at the expense of everyone's problematic psychological tendencies.

Taking your statement in its literal form, there's nothing wrong with marketing in itself. It's wildly successful in getting people to buy more and pay more for what they buy, which is the entire point of it. What's wrong is how marketing, unregulated capitalism and free corporate speech, and human psychology interact. But addressing those other things is difficult.

Yes, marketing is a problem and bullshit, but saying that won't change anything. The levers to change how marketing is done have nothing to do with marketing. They hit the third rails of free speech and free market capitalism, which mainstream culture is loathe to question.

</comment></comment><comment><USER28> > Ask at the onset whether or not people would pay for the product you intend > to develop. This is the Willingness-to-Pay talk," Ramanujam argues. > "Frontloading this question is powerful because customers won't be in the > mindset of negotiating price. Instead, they'll give you objective feedback > that you can use to prioritize what you're building.

Nah. People aren't objective about their purchasing decisions like that. The only way to find about willingness to pay is through actual experimentation.

</comment><comment><USER29> Dear firstround.com,

Please consider using HTTPS.

Love, The exposed user

<comment> munk-a Also, I get that a lot of sites are terrible these days but firstround has a truly awful design.

</comment></comment><comment><USER30> It's more important to consider what is more important for your product and the market it serves. The takeaway here is that you shouldn't forget about price and the end user at all. But it is ultimately one of several decisions to make with its own tradeoffs.

But overall I'll admit that it's great metric for decision making especially for us engineers that get caught up in the design of the ideal product.

</comment><comment><USER31> I think this is why selling stuff you haven't made yet is such a common business strategy in software and most other fields where it is possible. It essentially eliminates the cost of developing features no one is willing to pay for (and equivalents in other fields). Any company that builds before they sell will be completed out of business unless they never miscalculate the demand for a feature.

</comment><comment><USER32> Most of the examples given in the article are about physical products. It's hard to see the direct translation for pricing software, especially since most of the largest tech companies primarily offer "free" products, and whose revenue is a result not of pricing strategy but of user behavior, engagement, and numbers.

</comment><comment><USER33> I understand this is not the point of the article, but whenever I see one of those SUVs on the road I feel a twinge of saddness; it seems a car in internal dissonance, it wants to be sleek and sporty, but it's this huge beast of a vehicle.

<comment><USER11> Americans refuse to buy station wagons. Rest in peace CTS-V wagon. You were far too good for this world.

</comment></comment><comment><USER34> Pretty sure amazon, google, facebook, twitter built a product first before price. Sometimes it really is about innovation, once you do that, the money follows.

Unless you're moviepass.

</comment><comment><USER35> I would make the argument that price is part of the product... No one cares (or at best you'll have a really limited market) if you can't make your product affordable.

<comment><USER36> "Limited" is relative, and in this new world you can have perfectly successful product while not being "affordable". But ofcourse you have to have other things, like brand awareness or a good value/dollar

</comment></comment><comment><USER37> What an unnecessarily broad heuristic. I can only assume the author is trying to do (faux) wisdom signaling by making such a needlessly general rule.

</comment><comment><USER38> Choosing to build a luxury SUV ($56k-$89k) instead of yet another luxury sports car is a product decision, not a price decision.

</comment><comment><USER39> This is pretty old practice, its called target pricing or target costing in the business world.

</comment><comment><USER25> The story of Porsche and Chrysler ignores their history. These brands don't exist in a vacuum. Customers aren't approaching these products only by looking at features and prices.

10 or 15 years ago, there was a clever Porsche commercial where a kid goes to the dealership to check out the latest 911, and gets a business card, and says "I'll be back in 20 years". I thought that perfectly summed up the Porsche brand. There was something special about Porsche that stuck with you -- all they do is make the best car in the world. When I first heard that Porsche was making an SUV, I remember thinking the brand was dead. It was now just another car company. I no longer have any desire to ever own a Porsche. Their new sports cars are technically impressive but the cachet is gone.

(I suspect the Cayenne works today because the target audience grew up in the Porsche golden era. It's comparable to an X5 or Q7, but noticeably more expensive. Will it continue to sell well in the future, when their market doesn't consist of people who grew up dreaming about the 911?)

The Dodge Dart (clearly the Chrysler subject, though not mentioned here by name) was advertised in its commercial as "under 16 grand", which is a perfectly reasonable price for a compact car. What price would the author of this article have recommended instead? What really sank it in the market, according to the reviews, was reliability. I don't associate the Chrysler brand with reliability, and I didn't believe that "kicking out the finance guys" would solve that overnight.

(Had the car sported a Honda badge, and the same price tag, I truly believe it would have sold like hotcakes.)

You can see the same effect in some other recent car commercials. They take a car, strip off all the logos, and ask "normal people" to review it. They ooh and aah, and wonder if it's the newest BMW. Surprise: it's American!

What I don't understand is: if the biggest liability of American carmakers is literally their name and logo, why do they stick with them? Why do they continue to try to find clever ways to change our minds about things that they know everybody has already made up their minds about? In any other industry, when a brand is no longer valuable, they change it. I know there are older people who will only ever buy a Ford/Chevy/Dodge, but the latest hybrid subcompact or hot hatch is not being marketed to those people, anyway.

The Germans did it right: they had a brand name that people valued highly, so they put it on something these people were buying anyway -- and were willing to pay a premium for. (There's a whole "Porsche Design" subsidiary selling knives and pens and such.) The Americans did it wrong: they had a brand name that wasn't highly valued, so people didn't want a product with that brand name, even at a good price. Brands are mostly immutable. It takes a long time to change anyone's mind.

<comment><USER40> Porsche was a luxury brand moving downmarket, expanding their reach at the expense of their brand. We're seeing the same thing with Aston Martin, Maserati, and many fashion brands.

It certainly works short term, but I wonder if they'll ever try (or be able to) recapture the cachet they once had.</comment></comment>


Show HN: Gotta – a minimal command line todos manager - <AUTHOR> https://github.com/Tankenstein/gotta

<comment><AUTHOR> If anyone has any feature requests, i'd love to hear them.</comment>


Carbonite Founders Raise $8.2M to Take on AWS S3 with New Startup - <AUTHOR> http://bostinno.streetwise.co/2016/12/06/aws-s3-competitor-carbonite-founders-raise-6-2m-for-bluearchive/ <comment><USER2> A bit hard to take them seriously if their homepage is WordPress powered. Just my opinion.

<comment><AUTHOR> We shall see what happens.</comment></comment>


33rd Chaos Communication Congress Livestreams - <AUTHOR> http://streaming.media.ccc.de/33c3 <comment><USER2> Some additional links:

* Schedule: [https://fahrplan.events.ccc.de/congress/2016/Fahrplan/](https://fahrplan.events.ccc.de/congress/2016/Fahrplan/)

* Media archive: [https://media.ccc.de/](https://media.ccc.de/)

Edit: formatting

<comment><USER3> Those security entries for security and ethics makes me want to shut down my computer and disintegrate it to individual atoms. Its like the technologist handed STASI their wet dream while trying to improve the world...

<comment><USER4> > Its like the technologist handed STASI their wet dream while trying to > improve the world...

The error here is assuming that for all technologists "[handing] STASI their wet dream" and "trying to improve the world" are mutually exclusive. I am beginning to think they knew[/know] exactly what they were[/are] doing.

<comment><USER3> [https://en.wikipedia.org/wiki/Hanlon's_razor](https://en.wikipedia.org/wiki/Hanlon's_razor)

That said, there are times it reeks of "aimed for the moon, hit London" style thinking...

<comment><USER4> I can not agree with applicability of that aphorism in this case.

We have had a very vocal feedback loop of raising issues ("stupidity", "misunderstandings", "neglect") with OP conference as one type of such feedback.

Nothing has been corrected. Do you happen to know of another aphorism that covers the "willful stupidity", "willful neglect" etc. and what it all means (as I certainly don't desire hitting London.)

Obviously those with their hands on the production pipeline of tech disagree with the feedback. Is that really a controversial observation? Really?

</comment></comment></comment></comment></comment><comment><USER5> Also quite cool: [https://dashboard.congress.ccc.de/](https://dashboard.congress.ccc.de/)

<comment><USER6> That _is_ cool! Looks like something like Zabbix.

Any idea what it is actually?

<comment><USER7> That's Grafana[1]. You can build such dashboards from data in Graphite, Elasticsearch or other sources. IIRC, they now also have support for alerting based on these metrics (something for which we are using Bosun currently).

[1]: [http://grafana.org/](http://grafana.org/)

<comment><USER8> They also support pulling data from zabbix, which can be super handy. :D

</comment></comment></comment></comment><comment><USER9> I recently came across the software they use for mixing their livestreams, and it looks really useful for anyone trying to build out a system to stream or record talks:

[https://github.com/voc/voctomix](https://github.com/voc/voctomix)

<comment><USER10> And if you have seen the intermission screens and wondered how these work: They run my software info-beamer ([https://info- beamer.com/hosted](https://info-beamer.com/hosted)) on a Pi3 in each Hall. Basically those intermission information screens are written in Lua. My info- beamer software uses both hardware accelerated video decoding as well as OpenGL(ES) to make things run smoothly. I'll release the complete Lua source code early next year. If you want to see how these worked last year, take a look at [https://github.com/info- beamer/package-32c3-screens](https://github.com/info- beamer/package-32c3-screens)

<comment><USER11> > Our operating system detects even the tiniest corruption to files and will > automatically restore them from our service. The system is completely self- > healing.

Can you share details here?

<comment><USER10> Sure. The base system is quite minimal an runs from a squashfs read only image. Total size is ~40mb. The squashfs file is stored on the first partition (FAT formatted) which is not mounted rw during normal operation (only while updating the system which happens rarely). The second partition is the data partition. It stores images, videos, the Lua code and other files that are required to actually show content on the screen. This partition is mounted rw.

info-beamer hosted always stores those files using content based addressing. So every file that enters the system gets hashed and is then addressed by that hash both on the website itself as well as on the devices. On the website this might look like this: [https://cdn.infobeamer.com/dynimg/blob/image-c40ba24410fb9ca...](https://cdn.infobeamer.com/dynimg/blob/image-c40ba24410fb9caddeedfb4a8fba7471~lkpAslpl), on the device they end up on /space/cache/<hash>. This is great for all kind of reasons: Cache invalidation and offline verification. For the website, all files can be cached indefinitely as the url changes once the content changes. On the device each file required for a visualization must only be downloaded once, as it's trivial to see if the same file was already downloaded earlier by just comparing filenames. So fonts that might be shared by visualizations are only downloaded once. Also the device can trivially verify that all files are still correct by hashing all cached files and comparing the result with the filename. If it matches, the file is correct. If it doesn't, something is wrong and a new sync is started to repair the problem.

Works pretty well. Does that help?

</comment></comment></comment></comment><comment><USER12> TLS: [https://streaming.media.ccc.de/33c3/](https://streaming.media.ccc.de/33c3/)

</comment><comment><USER13> The official IRC channels are #33c3-hall-X @hackint. They always take questions from the channels. Almost as good as being there!

<comment><USER14> it's irc.hackint.org right?

<comment><USER15> Yup, that's correct, the channels seem to be: #33c3-hall-1 #33c3-hall-2 #33c3-hall-6 #33c3-hall-g

</comment></comment></comment><comment><USER16> I searched through the schedule and didn't find State of the Onion. That's unfortunate.

Security Nightmares seems to be still going. That's always a good talk.

<comment><USER17> I think that's to avoid the whole Jakob Appelbaum kerfuffle. Both he and the rest of the TOR leadership were banned from giving talks this year.

<comment> shawn-butler That seems anathema to the stated aims of ccc.

Do you have a reference for this or personal knowledge?

<comment><USER18> It's stated here: [http://www.taz.de/Der-Fall-Jacob- Appelbaum/!5361578/](http://www.taz.de/Der-Fall-Jacob-Appelbaum/!5361578/)

No party should get the chance to defend their position.

</comment></comment></comment></comment><comment><USER19> My favorite talk is always the behind the scenes talk:

[https://fahrplan.events.ccc.de/congress/2016/Fahrplan/events...](https://fahrplan.events.ccc.de/congress/2016/Fahrplan/events/8243.html)

</comment><comment><USER20> Holding my breath for Wikileaks insurance keys and Phase 3 files hidden in the blockchain.

</comment><comment><USER21> Are they doing quality control on submitted talks this year, or are they still fine with talks that spread outright and clear lies to people who come there to learn and don't know any better?

Edit: They still let Rubin talk, so probably no quality control.

<comment><USER22> The exploits he presented in high profile perl software are very real, irregardless of if you agree with his reasoning on what is broken or not.

So he gave a talk on exploits he found but you call the talk "outright and clear lies", because you disagree with his conclusion that perl is broken?

<comment><USER21> He found vulnerabilities in (very old) third-party software written in Perl (that's the 1%) then did nothing but lie and attribute them to the language while demonstrating his (accidental or willful) lack of understanding of the language. His code slides often aren't even valid Perl, which is an achievement in itself.

<comment><USER23> I watched both of his talks, but I've never heard before about this "code on the slide was not valid Perl" complaint.

You're not talking about a small typo, are you?

Can you point to the wrong examples/slides?

<comment><USER21> Examples, with explanation of wrong in comment. First talk:

      print $hash;   # he accompanied this by a dump of the hash, when in reality it would print the reference id
      print ($a, $b, $c);   # same thing as above, pretends it does a dump, when the reality is wildly different

He does these repeatedly in his second talk:

      $arg1, $arg2 = @_;   # assigns the length of @_ to $arg2, instead of unpacking args. only the newest of newbies would get this wrong
      if(ref $arg1 eq 'HASH') print $arg1{'key'};   # perl does not have block-less pre-fixed ifs
      else print $arg1;   # same with this, entirely nonsense

The entire style of his code (paren-usage, quoted hash keys) also smells of code copied from bad (w3schools) perl tutorials.

<comment><USER23> Yeah, quite damning and sloppy on his behalf...

Thanks for pointing this stuff out!</comment></comment></comment></comment></comment></comment>


Game of life that produces scrolling text "Golly" - <AUTHOR> http://golly.sourceforge.net/ <comment><USER2> Googling around to find out if the logo is in fact a real Game of Life (it seems to be), I run into this description of the hashlife algorithm which enables high performance Game of Life simulations:

<http://www.ddj.com/hpc-high-performance-computing/184406478>

(DDJ article found in this reddit thread: [http://www.reddit.com/r/programming/comments/7t97o/golly_a_c...](http://www.reddit.com/r/programming/comments/7t97o/golly_a_cellular_automata_app_with_hashlife/))

<comment><USER3> The logo is a real game of life, and if you download Golly, it comes with a bunch of patterns you can try, including the scrolling "golly" text.

</comment></comment><comment><USER4> Has anyone read Borges' story, "The Library of Babel"? This Golly thing reminds me of this part of the story:

"One [book] which my father saw in a hexagon on circuit fifteen ninety-four was made up of the letters MCV, perversely repeated from the first line to the last. Another (very much consulted in this area) is a mere labyrinth of letters, but the next-to-last page says Oh time thy pyramids."

</comment><comment><USER5> Golly looks like a neat little tool for playing around with this stuff. The other rule sets look fun too, check out this prime calculator using WireWorld:

<http://golly.sourceforge.net/gtk-primes.png>

The wikipedia page for Wireworld ( <http://en.wikipedia.org/wiki/Wireworld> ) has an animation for a similar counter (it's labeled as a prime calculator, but it seems to be just a regular counter).

</comment><comment><USER6> Cool. I look forward to being able to print out things like "Jenny, will you marry me?"

More seriously, I wonder if you could use some combination of pattern recognition and genetic algorithms to auto discover more words/phrases of this sort.

<comment><USER7> I bet it would be easier to design a banner generator that intelligently figures out a design.

It looks like all you need to do is figure out an algorithm for producing a single stream of "bits", then correctly place and synchronize them. I bet it would be quite trivial, really.

(it's interesting that first sentence had the words "intelligent" and "design" in it, when I had no intention of bringing up the evolution vs. intelligent design issue, I only realized what I had said after the fact)

<comment><USER8> What you are referring to is global-to-local compilation:

Biologically-inspired Self-Assembly of 2D Shapes, Using Global-to-local Compilation, A. Kondacs, International Joint Conference on Artificial Intelligence (IJCAI), 2003

</comment></comment></comment><comment><AUTHOR> This is the output: <http://golly.sourceforge.net/ticker.gif>

</comment><comment><USER9> Was it written by Carol Thatcher?

<comment><USER2> See first post on this reddit thread:

[http://www.reddit.com/r/programming/comments/7vbai/game_of_l...](http://www.reddit.com/r/programming/comments/7vbai/game_of_life_that_produces_scrolling_text_golly/)

Please don't encourage HN's convergence to reddit-style discussions.</comment></comment>


Syntax changes from C++11 to C++20 - <AUTHOR> https://www.bfilipek.com/2020/08/lambda-syntax.html <comment><USER2> The amusing thing is that C++ still doesn't have nested functions. (Although I think that was a GCC feature at one point.)

As I point out now and then, there are two basic concepts here - closures and anonymous functions. A lambda is both. All four combinations (functions with/without closure, and with/without names) are possible. There's a tendency to confuse the two. An anonymous function is syntactical sugar. A closure is a run-time construct.

\- Python and Javascript have nested functions with inheritance, which are closures. Most garbage collected languages have that, because it's easy to implement. Python also has lambdas, which von Rossum didn't want to put in but did to shut up the crowd that wanted them.

\- Rust has nested functions without inheritance. A nested function can't access its outer scope. Rust also has lambdas, and they can inherit. C++ has now gone the same route. Non-GC languages need compile-time work to implement a closure, since something has to make a copy of what's inherited and worry about its lifetime.

\- It's possible to have anonymous functions without inheritance. The classic example is a sort key function, where a sort function is called with a function that defines the test.

<comment><USER3> D has nested functions that can access the enclosing function's variables (and it's enclosing function's variables, on up the call stack!).

It's a feature I first encountered with Pascal.

It's simple to implement. After using them extensively for years now, they're a big improvement.

<comment><USER4> Are D's nested functions truly functions - for example are they ABI-compatible with a top-level function? If so, how do they get access to the stack frame?

gcc has this feature, it is implemented by constructing a trampoline-style function on the stack. This requires an executable stack, so isn't really a thing any more.

<comment><USER3> > Are D's nested functions truly functions

Yes. They're even inlinable!

> for example are they ABI-compatible with a top-level function?

If they are annotated with `static`, yes. If they are not so annotated, they are ABI-compatible with non-static member functions. In fact, in D, a pointer to a non-static member is interchangeable with a pointer to a non-static nested function. This makes for much convenience when dealing with algorithms that accept such pointers (called "delegates" in D):

> how do they get access to the stack frame?

And extra argument is passed to the function which is the frame pointer to the calling function. (This is called a "static link". The "dynamic link" is the return address.) This can be thought of as the "this" pointer to the "struct" that represents the caller's stack frame, hence the binary compatibility with member functions.

To go back to the enclosing enclosing enclosing function's stack frame, you dereference the static link 3 times. The tricky part is optimizing these dereferences away when there are no captured variables in a stack frame.

</comment></comment></comment></comment><comment><USER5> I was a C/C++ programmer from 1995 to 2012, almost 20 years. I moved on to more SaaS-friendly languages, but when I look at C++ now, it's incomprehensible to me. It's an entirely different language. I _think_ I could get back into it, but it's been so long and the gap between where I left it and where it is now is so vast, coupled with the dearth of jobs compared to Python or Go, that it doesn't feel worth it anymore. It's weird knowing that a language that I spend so much time on is relegated to the past.

<comment><USER6> I've been out of the game for a while, so I could be way off here, but my experience during my brief (15-20 year) career was one could always get paid significantly more for doing C++ than Python.

Which makes intuitive sense to me since it's a lot harder to master C++.

<comment><USER5> This isn't true. Go/Python/non-C++ can get you dozens of jobs with very high total comp, well over anything for C++. A Senior Software Engineer at any FANG will get you over 400k/yr TC. Getting an equivalent job with C++ would be much harder.

<comment><USER7> Hate to break it to you, but GOOG is mostly a C++ and Java shop with some Go presence.

<comment><USER5> Google is most definitely not "mostly C++". Java I can believe is a majority, but there's a plethora of languages used there.

<comment><USER7> You misunderstand me: I'm not claiming its "mostly C++", I'm claiming that its "mostly C++ and Java". Python isn't zero, but its very far down the list, both in lines of code and machine cycles spent.

<comment><USER8> Certainly, although you can work there using almost entirely python (I did for two years, although I'm now having to use more and more c++ and java as my work shifts to be infra that involves products instead of just raw infra)

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Great survey but why on earth does there need to be a book about lambdas in C++???

<comment><USER10> I just wish there was nested functions instead of these lambda classes.

<comment><USER9> eh.... having to deal with Python's stupid lambdas, C++ lambdas are far superior. You can always do:

auto func = [](...){....}

for nested funcs

<comment><USER10> Ye but I would just want the possibility for the simpler syntax like the GCC extension for C where you can do:

        typedef void fp_t();
        void foo(fp_t fp)
        {
            fp();
        }

        int square(int num) {

            void square_nested()
            {
                num = num * num;
            }

            foo(square_nested);

            return num;
        }

That would work as long as you don't need copy capture.

<comment><USER9> I really don't see how that is so much better than the alternative that it would warrant a language change:

      int square(int num) {
        auto nested = [&num](){
           num *= num;
        };
        nested(num);
        return num;
      }

<comment><USER11> Slight mistake: should be

        auto nested = [](int& num){

(or switch calling nested to have no params)

<comment><USER9> The HN C++ compiler ;-)

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> I'm only mildly familiar with C++, but the support for template arguments in lambdas looks like an analogue for generic closures, which are absent from Rust, but would be really handy at times.

<comment><USER13> Note that C++ has had generic closures since C++14, with auto parameters. Template arguments are just a refinement for that.

</comment></comment><comment><USER14> So that ForwardToTestFunc right? At what time are the template arguments filled in? Could you call it first with an int and then later with a string, each call forwarding to a different overload?

<comment><USER15> Yes, that's precisely the use case. The compiler synthesizes two functions, one for each case, then optimizes them separately.

</comment></comment><comment><USER16> I've been a C++ programmer for 20 years. Having just seen the example of template arguments in lambda functions:

1) I am reminded of this Larson cartoon: [https://imgur.com/gallery/4gR7tX7](https://imgur.com/gallery/4gR7tX7)

2) I have a palpable urge to learn Go.

<comment><USER17> The more I program in Go, the more retroactively irritated I get at C++. A buddy of mine did a few 'brown bag' sessions on advanced C++ templating and my jaw just dropped further and further at each one. Who has the energy for this? It's hard to write, it's hard to read, it's hard to debug.

For someone who a) knows what they're doing and b) really needs to squeeze every last millisecond out of the code I suppose they could be useful. It made me want to send Rob Pike a thank you card.

<comment><USER18> C++ and Go are different languages with different goals.

Why would a C++ programmer learn Go? They should learn Rust since it is pretty much a cleaned up, modernized C++.

<comment><USER19> rust is just new, not too bloated, YET. long way to go until it can be seen as a "better C++".

<comment><USER18> Agreed, it is lacking tooling support and many other things, but it is a cleaner C++. That plus the borrow checker are its two major features. Otherwise, nobody would use it and their designers would have done a pretty bad job given the 30 years of experience they had from C++!

</comment></comment></comment></comment></comment><comment><USER20> Can we make the beautiful C syntax insufferable? Yes sure just leave it to the committee.

<comment><USER15> Well, these are features that don't exist in C.

Plus the complex template syntax is mostly unnecessary in C++20

</comment></comment><comment><USER21> One of the worst design decisions in C++ (IMO, of course) is the template syntax. Templates are proper macros, abstractions over code in the sense of lisp. But C++ hides this fact by relying (mostly) on implicit template application and very, very, indirect syntax for template abstraction.

For instance: who came up with the idea of templated lambdas? Yes, manually managed closures are very C++, and yes, templated closures are also very much C++. But now we have templated closures that capture local variables _IF THEY EVER HAPPEN TO BE INSTANTIATED_. What the actual cluster eff?

<comment><USER13> Templated lambdas are extremely powerful. Think for example of (recursive) visitations of etherogeneous containers.

<comment><USER22> I tried; the house began shaking, there was a sudden eclipse and blood started trickling down the walls. Is that supposed to happen?

<comment><USER23> Have you tried compiling with -O0 -g -Wstrict-exorcism ?</comment></comment></comment></comment>


Classic LED filament bulbs making a comeback - <AUTHOR> http://www.selectionled.com/blog/our-classic-led-filament-bulbs/ <comment><USER2> I really like the craftsmanship on these. As a collector of interesting vacuum tubes and spectral lamps, this is something I want.

I don't exactly understand what these are. the 'about page' mentioned it was some proprietary tech. Is is basically like an LED in a vacuum tube without the epoxy casing to absorb heat?</comment>


How Larry Page Plans To Change Google Forever In 2012 - <AUTHOR> http://www.businessinsider.com/how-larry-page-plans-to-change-google-forever-in-2012-2012-1 <comment><USER2> They say they aren't a search company, but without it, they wouldn't be making any money. Most of their other products are released for free and subsidized by search profits.</comment>


What Is the Morning Writing Effect? (2011) - <AUTHOR> https://www.gwern.net/Morning-writing <comment><USER2> In my experience writing (at least writing fiction) consists of two different activities: the writing proper, in which you produce text, and the editing, in which you mostly get rid of text. Think of the editing phase as liberating the statue from the marble, and the writing phase as producing the marble.

These activities, since they are so different in nature, are best separated in time and space and tooling.

I produce in the early morning, sitting at my dining table in the living room, using a pen and paper. In the early morning your dreams still linger and your critical faculties are not yet fully awake. This makes it an ideal time for just producing stuff. I take this seriously in that I do not even allow myself to cross out words. Just keep on writing, and sort it out later. Later on the day I edit, sitting in my study and using a text processor.

As a side note, I would not recommend this practice for writing code.

<comment><USER3> I'm curious to know why this process wouldn't work well for code?

Some of the best code I've written has also been in an exhausted/ not-fully- awake state

<comment><USER2> Because to me designing a piece of software is the analytical work: making estimates, picking candidates for data structures and algorithms, doing back- of-the-envelope calculations, considering trade-offs, maybe making a little prototype in a toy language.

The coding proper can be done in a less vigilant state: it is like laying bricks or folding napkins. The hands know what they are doing. (Exaggerating here, but not too much. God knows I have coded tired or drunk or stoned, and not even my worst work.)

<comment><USER4> I generally agree that coding can take a lot more planning than writing and the more experienced I get, the more I plan. I also like to occasionally run with the "write one to throw away" method, which is very much like splitting between writing and editing. It's just that the second version is less editing of the original text and more editing the original approach / methodology / process.

I so wish I could code stoned. I've never been able to in any meaningful way. I don't code inebriated anymore, but in my twenties it was preferred. These days I think my brain basically responds to inebriation of any sort as "why are you still working while I'm trying to enjoy myself?".

<comment><USER5> One of the most complex pieces of code I have ever written, I wrote while traveling home intoxicated on the midnight train.

It was something I had been considering, analyzing, debating and discarding as impossible for several weeks prior to that. Then when it came down to it, not only was I able to implement it, but it worked perfectly for more than 6 years before anyone was able to improve on that design.

I attribute the success to two things: (a) the fact that I had done a lot of analytical work beforehand; (b) the inhibition-lessening effect of alcohol that allowed me to enter the zone and implement the solution without worrying about complexity or other external factors.

Once the core idea worked - and worked it did! - all that was left was to revisit it the next day, sober this time, and fix the remaining issues, documentation and tests.

</comment></comment></comment></comment></comment><comment><USER6> This rings true with my experience. I typically wake up at 3.30-4am to get stuff done before the day starts. When I went back to university I was finding two major issues with doing work at night. 1, I was tired at night from a days work. 2, Intense mental activity at night kept me awake longer than I'd like.

After discussions with a friend I figured out I could just relax after work (which reduces stress) and wake up early to get my work done. It was the single best discovery I made in regards to improving my overall productivity.

</comment><comment><USER7> This rings very true. I'm a night owl and in the beginning of my career I worked in mostly 13-21 bracket, with strong preference for hours after 17 when office got quiet. It was great, but at some point it started to impact my life very negatively(days just pass and you do not do much beside work). Early mornings are the next best thing. You get quiet, you can easily focus, you're rested and when the day really starts you have something done already, which significantly reduces stress for me. Definitely recommend to everybody.

<comment><USER8> I'm a night owl, struggling with the adjustment to fatherhood and expectations to be present at home right at the time my motor normally fires up.

I've always felt 3-5am was the most beautiful time of the day; though I'm used to seeing it on my way to bed, and pushing myself to wake up early enough to make it worthwhile hasn't paid dividends yet.

Thanks for sharing your experience - it gives me confidence I can switch.

<comment><USER9> Ah yes, fatherhood will change a night owl. I've made the adjustment for the same reasons, went from sleeping 4am-10am to 930pm-4am (extra half hour sleep!) and while the first two weeks are rough, it's been smooth sailing since. You can do it. The 4am-6am is just as magical as the 2am-4am was for me. I'll skip breakfast until after 6am so I can jump right in it.

That being said, I still plan on going back to being a night owl when the kids are grown.

<comment><USER10> Jeez I wish I could survive on 6 hours sleep. I need at least 8 to feel fully refreshed. I can survive on 7 for a day or two but after that it catches up with me in a bad way. Any less than 7 and I feel like absolute death.

</comment></comment></comment></comment><comment><USER11> I'm left astonished at the amount of work that went into this article! Not simply its length (which is padded with large amounts of quotes) but the number of sections. I had assumed there would be an enormous comments section at the end, instead section after section after section. Oh look a randomized study he ran. Oh an enormous table of anecdotes.

Incredible.

<comment><USER12> That's gwern for you... it's unbelievable how much effort he puts into the things he's researching. Check out his 'nootropics' article for example.

</comment></comment><comment><USER13> Absolutely! In summer I get up as early as I can handle, usually 5am in the height of it. The gentleness of the morning always holds such great expectations - no one is waiting for a response to emails or calls. Traffic is quiet, or birds or neighbours.. And you have the promise of the entire day to get something done, so something usually does..

As for the article, it does try its best to uncover reasons, which ultimately seems to conclude 'because'. Maybe it's just because it's very taxing, to write or be creative, and the body is best suited in short bursts earlier in the day. Skip to _Additional anecdotes of writers' preferred time_ if you want the good stuff.

</comment><comment><USER14> I find this is also true for writing code. Sometimes I wake up at 4 AM and will easily code until 8 AM, and that will be 80% of my code for the day.

I also found that this is the time when I write my least cynical comments, that pull in the most upvotes.

</comment><comment><USER15> I am missing a rather likely cause in the article: The idea that writers lie about their morning writing because it makes them sound virtuous. (Which also explains why fiction writers prefer morning writing ;)

Given that a large part of this article rests on self-reported data from interviews (which are specifically vehicles of self-promotion), and that the more anonymous data seems to contradict the interview data, I'd consider this as a more likely explanation than most.

<comment><USER16> You may be onto something there. I wonder, has anyone done any real digging on why the heck so many people think being a morning person is morally good? It makes no sense to me.

<comment><USER15> I suspect it's a combination of facts

1) For most of history, we could only do work during daylight. 2) Agricultural work specifically wants early light - there's a lot of things you can't do in bright sunlight because it stresses plants.

It's definitely around for a while - the whole "the early bird" thing dates back to at least the 1600's. Aristotle was mumbling about getting up early as well. ("Rising before daylight is also to be commended; it is a healthy habit, and gives more time for the management of the household as well as for liberal studies."[1])

Personally, I'm more a fan of Diogenes ;)

So, likely it's considered good because it maximizes "productive" time.

[1] Economics, Book1, section 1345a: [http://www.perseus.tufts.edu/hopper/text?doc=Perseus:abo:tlg...](http://www.perseus.tufts.edu/hopper/text?doc=Perseus:abo:tlg,0086,029:1:1345a)

</comment></comment></comment><comment><USER17> Under the heading of "inspiration", the author A E van Vogt had a method involving waking himself up several times a night. His Wikipedia entry[1] describes it as "he arranged to be awakened every 90 minutes during his sleep period so he could write down his dreams", which sounds like an output process, but in an interview [2] it sounds like an input process: "When I was working on a story, I would waken myself every hour and a half, through the night--force myself to wake up, think of the story, try to solve it, and even as I was thinking about it I would fall back asleep. And in the morning, there would be a solution, for that particular story problem."

However his output was notably different from other writers (by reports[1]) so it may not generalise.

[1][https://en.wikipedia.org/wiki/A._E._van_Vogt#Method_and_them...](https://en.wikipedia.org/wiki/A._E._van_Vogt#Method_and_themes) [2] [http://www.icshi.net/worlds/Plattprofile.htm](http://www.icshi.net/worlds/Plattprofile.htm)

</comment><comment><USER18> Interesting paper, it's really weird that even night owls are writing in the morning. I write try to write fiction and the best time to do is after an afternoon nap. You get the sleep-creativity juice going. I'm normally a night- owl, I finish my other writing and works at night but when I write for myself it's in the late afternoon.

<comment><USER19> I'm definitely a "do something early in the morning" type -- whether it's working out or writing. I'd rather wake up early, do some writing, and then go for a workout afterwards.

And to your point -- I'm one of those people who can't nap. Napping messes me up. I can _feel_ my hormones sloshing and bending me around.

To each their own, of course.

</comment></comment><comment> em-bee i am going through this right now. what i find so far is, that for the actual productivity, the time of day doesn't matter, but if i set myself a goal of achieving a certain amount of progress in my writing, then the later the day gets, the less likely i am to get it all done. so i want to start early simply so that i can relax later, or use any additional time available to write more.

</comment><comment><USER20> I have to write a lot of technical reports and I really dislike writing. Writing first thing in the morning is the only way I can be productive with it.

</comment><comment><USER21> I just had this light bulb moment about separating the writing and editing processes a few weeks ago. I am grad student and writing is an essential part of my job. I am not as good as I would like to be, but writing first and editing later removed a lot of mental load for me. I experimented with a couple of systems in the past, but always got paralyzed by my inner critic commenting on every sentence. It was exhausting to even produce "one page worth" of writing a day. I thought that as I was editing while writing, it would be of great quality, but it was usually of pretty bad quality. Last week I just connected a bluetooth keyboard to my phone, opened up my favorite writing app[1], and started typing while staring out of a window. I was dishing out page after page of moderate quality writing. I would then wait a day or two and edit it. It was far easier to convert the moderate quality stuff by removing the fluff than to try producing great quality writing directly as I did before.

Appendix: Previous systems

1) Try writing perfect prose on the first try: This is paralyzing. I would just sit staring at my computer screen for hours, thinking of the perfect introduction and perfect sentences. I have since realized that this is bad for my mental health and productivity.

2) Write on paper: I then tried writing on paper. Got more done than just staring at the screen. It is difficult for me to write for extended periods of time like this. My hands start aching, and my handwriting goes from bad to illegible. Typing everything out also adds unnecessary friction.

3) Hemingway mode: I was looking at markdown editors for Pop OS when I stumbled upon "Hemingway mode" on GhostWriter[2]. This disables your backspace key. Not being able to edit was frustrating for me at first, but I got used to this. I also implemented this on my MacBook by using BetterTouchTool to disable backspace in iA writer. The typewriter and focus modes on iA writer are helpful for a smoother writing experience. I wrote more using this system, but still spent a lot of time looking at the sentence I was writing and trying to make it better in my mind before I typed.

4) Typing blind, or "type the first draft without looking at it": I was trying to find a hardware solution to this problem. I almost convinced myself to buy a $500 typing machine with an eink display. That is overkill for me. I figured I could make my own by somehow displaying the text I was typing on a kindle. I found out about the kindleberry Pi[3] but that had too many moving parts. I tried using seashells[4] to output my terminal display from the mac on a website in kindle browser. That failed. While testing that, I realized I typed fine enough without looking at the screen! Spent that day experimenting with some keyboards and apps. I now use a small cheap bluetooth keyboard connected to my phone, or a nice mechanical keyboard connected to my iPad. I set up a GitHub repo for my markdown notes, syncing with my iCloud Drive iA writer folder through Working Copy. The repo is for redundant backup and to access the notes on my Pop OS desktop. I mostly write on my phone or iPad now, use my laptop to edit it later. I wake up, meditate and start typing while staring out of the window. I get about 1000 or so words out in about 30 minutes. This is better for ideation and stream of consciousness writing. For more technical stuff, I type blind to get ideas and general framework in place, and use Hemingway mode to type out the rest. Been very happy with this system so far. Writing is a joy again!

[1] [https://ia.net/writer](https://ia.net/writer)

[2] [https://wereturtle.github.io/ghostwriter/](https://wereturtle.github.io/ghostwriter/)

[3] [http://maxogden.com/kindleberry- wireless.html](http://maxogden.com/kindleberry-wireless.html)

[4] [https://seashells.io](https://seashells.io), it seems down right now. Some info here [https://github.com/anishathalye/seashells](https://github.com/anishathalye/seashells)

</comment><comment><USER22> Everyone has their own circadian rhythm. I'm an owl and my writing flows most easily late at night.</comment>