Apple addresses people saying their iPhones with older batteries are "slower" - <AUTHOR> https://techcrunch.com/2017/12/20/apple-addresses-why-people-are-saying-their-iphones-with-older-batteries-are-running-slower/ <comment><USER2> It's somewhat frustrating to hear folks patiently explaining the customer benefit of this as if the audience was 5, talking about how aged batteries aren't as good and balancing device replacement vs performance. They're forgetting the plot:

We're in this mess because Apple decided that replaceable batteries were not in its best interests. It then applies further technical fixes as a consequence. All of these fixes decrease the longevity of the device as a consequence.

But hey, our phones are 0.05cm thinner and yay, they're 2% cheaper for Apple to manufacture. Whew.

<comment><USER3> The batteries are replaceable, by Apple or an authorized service store. They're also replaceable by unauthorized third parties if you want to roll the dice on batteries from China.

They aren't user replaceable and that is 100% the correct design choice.

<comment><USER4> Why do you think that its the correct design choice? I never had a problem with all of my older phones that had replaceable batteries. Same with sim cards, we are saving so little space and they are now a lot fiddlier to handle and instead of one new size we have two. I don't see the benefit.

<comment><USER5> I can't remember a single phone with a replaceable battery that did not need tape to fix it after a year of usage... and I never bought a replacement battery.

<comment><USER6> Your experience is either imaginary or ridiculously atypical. Its literally not a real thing. Devices with replaceable batteries don't normally fall apart unless you are in the habit of dropping them all the time. This isn't a design consideration or a justification.

Phones are designed without user replaceable batteries because it makes it slightly cheaper to manufacture, generates revenue from users who require replacement, and makes it less desirable to keep an existing device vs buying a new one.

</comment></comment></comment></comment></comment><comment><USER7> > _This will not affect the average performance of your device and it is > emphatically not throttling, it's capping the peak demands and not allowing > them to be as high..._

I'd be interested to know what this writer thinks throttling is.

Part of the problem is that Apple wants to market their devices as quality, long-lasting, and also sleek objects, but can't really do so as effectively if they admit that one of the internal components wears out and needs to be replaced periodically.

<comment><USER8> I'm not sure high quality, long-lasting and sleek objects are incompatible with periodic maintenance and replacement of parts. Lots of people drive high- end cars (BMW, Mercedes, etc.) and consider the cost and effort of replacing parts for maintenance part of ownership. We are all used to this. We have been convinced with consumer electronics that we just need to replace the item but really they would be longer lasting if they simply facilitated battery replacement easily and not try to hide the fact. Just report that after N recharge cycles you need to replace, just like my timing belt after 100k miles.

<comment><USER9> Battery replacement is pretty easy. Walk into your Apple store, ask for a battery replacement, and fork over $79. Or find a third party who will do it cheaper, or buy the part and tools and do it yourself.

<comment><USER7> It could be a $10 operation you could do while walking, as on many older phones. But marketing studies indicate people initially like the look and feel of glued-up phones, and shortsighted capitalism is winning out in part because consumers have little choice and they are uninformed about the long-term consequences, like iOS throttling based on battery health.

<comment><USER9> I doubt it could be that cheap. The naked replacement battery costs more than that when purchased from a third party.

I don't see why this is shortsighted. It doesn't make sense to me to optimize for something you might do once every two years.

Let's be realistic: even if iPhones had batteries like you describe, 99% of owners _still_ would not replace them this quickly, and _still_ would suffer from mysterious performance degradation as the electronics throttled to avoid overstressing the old batteries. The long term consequences are the same either way. The only difference is that it costs a bit more and takes a bit longer to replace the battery.

</comment></comment></comment></comment></comment><comment><USER10> Wow, I thought the article was going to say it doesn't actually happen. But it flat out stated they do slow down the phone intentionally when the battery is old.

This is to avoid a forced shutoff issue, so is arguably the preferred behavior, but it is also does indeed happen.

<comment><USER11> Yeah. Not just iPhones either. After reading the original article, I replaced the battery in my 2012 MBA. Runs like a new machine.

<comment><USER12> Was it still slow when plugged into the wall? And did the system say your battery was still in the "heathy" range? I was seeing odd slow downs of my MBP and didn't think of this.

<comment><USER11> Yeah, I was getting the "Service battery" message. Didn't matter if plugged in (always was because it would die within half an hour), still slow.

<comment><USER13> Why would Apple need to slow the system when AC power is available?

Are battery-free systems (e.g. Mac Mini) throttled by using some other proxy for system age?

</comment></comment></comment></comment></comment><comment><USER14> I do wish there was a way for modern devices to let users know when they're "thinking" about something. Back in the day you could look at the disk access light. If it was blinking quick, your computer is slow because something is taking time reading from the disk. If it's solidly on, the entire system may be hung and it's probably quicker to just reboot and try again.

Even with my old iPod Mini, if it was running slow I could put it up to my ear and hear if the hard drive was cranking away. My desktop has an SSD, but if the fans kick on slightly higher, it's probably chewing on something and it might come back, just give it a sec.

But with a phone? With modern fanless laptops? There's no indicator that the system is working or if it's straight up hung and you'll need to reboot. And oftentimes for the sake of user friendliness, they just say "please wait" or have a spinning icon instead of saying what they're doing and showing a progress bar.

Troubleshooting has gotten a lot harder as devices get faster and smarter.

</comment><comment><USER13> Please bring back user-swappable batteries.

When users are resorting to carrying around phone-sized external battery packs to get through their day, the "thin" argument loses to "dongle" unportability.

<comment><USER15> Here's your user-replaceable battery for iPhone. Make the device a wee bit thicker, but doubles up as a phone case, and then I can also glue things to the back of it. Been using it for a few months now, without issue.

[1] [https://www.amazon.com/gp/product/B01DNEDQMS](https://www.amazon.com/gp/product/B01DNEDQMS)

<comment><USER13> Thanks. Now the question is whether Apple will disable throttling when external power is connected.

</comment></comment></comment><comment><USER16> Apple probably needs to address the wider misconception that electronics "don't age" just by nature. Batteries, thermal compounds, metal bodies, glass, all are worn by regular usage and consumers ought not to expect them to be perfect 3 years after purchase.

While counterintuitive, these changes are decidedly in the interest of the end user.

<comment><USER6> Swapping out a battery ought to be a 30 second operation. Everything else on a thousand dollar device ought to last 10 years unless the user drops it.

</comment></comment><comment><USER17> If Apple knows the battery is getting to the point where this is happening, shouldn't they just let the user know it's probably time get their battery replaced and throttle? Wouldn't this kind of make everyone happy?

This seems no brainer to me.

<comment><USER18> Apple probably knows how often this happens. Perhaps enough users just buy new phones it's not that common (as a percentage of phones in use).

That said can you imagine the furor if Apple just started popping up a dialog essentially saying 'Pay us $130 or we're going to cripple your phone'?

The press would have a field day. It would perfectly fit the 'Apple breaks your phone' narrative.

I mean they fixed the 'my phone randomly restarts when it has plenty of battery left' and now they're in trouble for this.

They can't win.

<comment><USER9> They could win by anticipating battery degradation and designing the electronics to draw no more power than a reasonably aged battery can supply.

<comment><USER19> They did that using something they call 'powerd' and that's exactly what the current kerfuffle is about.

Unless you're saying _all_ phones should be constrained to only use the power a two-year-old battery can supply?

<comment><USER9> Yes, that second one. Size the battery and the electronics so that when everything is operating at 100%, it doesn't pull so much power that it would shut down on a reasonably degraded battery.

Personally I'd like to see this done by keeping the electronics the same but making the battery bigger.

<comment><USER18> If you do that the battery will last longer. So what you didn't up with is basically what's already happening: you have longer battery life on the phone is new and shorter battery life when the phone is old.

And then people will once again claim that Apple is shortening their battery life with updates.

Of course you could artificially The battery life so that people can't tell that when new it's longer than it appears.

But someone will figure that out and clean that Apple is purposefully hampering things so they can make people buy new phones. Because they ARE.

There is no solution to any of these problems that people will like and won't end up with terrible headlines.

<comment><USER9> This isn't about battery life, it's about sudden shutdowns. Older batteries can't supply as much current. Apple limits performance to avoid pulling more current than the battery can supply. A bigger battery can supply more current.

People expect battery life to get worse as the battery ages. They don't expect performance to get worse or for the phone to start shutting down spontaneously.

<comment><USER19> And yet that's what battery life getting worse does: spikes cause shutdowns. If people don't expect that, they don't know much about lithium-ion batteries. Which is fine, but that's exactly 100% what Apple is handling here.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> I thought that power management and throttling to stay within thermal and power boundaries was a basic hardware function built into any OS.

Example: I haven't heard of similar issues with other manufactures phones. Presumably because keeping the phones basic function working has more to do with the firmware than the OS on top of it.

</comment><comment><USER20> This is one of several reasons why building phones without replaceable batteries is a terrible, consumer hostile practice. Unfortunately almost every mobile device available today now has the battery glued in.

<comment><USER9> Apple will replace the battery in an iPhone for $79. Lots of third parties will do it for less. You can buy the battery and required tools and do it yourself if you're handy with a screwdriver. It's not quite as easy as snapping the new one into place, but it's far from being non-replaceable.

<comment><USER4> Last time I replaced a battery on a phone I am sure it cost less than 10 euros and was a case of popping the back off of the phone. $79 sounds hideously expensive in comparison, but then you have to pay for some semi skilled labor rather than do it yourself these days.

<comment><USER9> I definitely wouldn't call it cheap, but it's totally doable. $79 is a lot, but way cheaper than a new iPhone.

</comment></comment></comment></comment><comment><USER21> Fucking ludicrous. TechCrunch might as well be Apple's blog/P.R department.

Apple has a history of victim shaming, or glossing over bugs as features benefiting customers. From "You're holding the phone wrong" response to antennagate to this response for badly engineering their phones (LiOn battery ageing is well known, they should've mitigated it reasonably in their design), they just don't get it

</comment><comment><USER22> The article is basically Apple saying they hurt you because they love you. Batteries are cheap compared to the devices and would be easy to replace if designed to be replaced (even if not user serviceable.)

Kill the batteries and recycle them...

</comment><comment><USER23> $1000 phones are a bubble. Time to wake up and rationally look at the other end of (generalised) Moore's law.

$100 one laptop per child, still waiting for it. [https://en.wikipedia.org/wiki/One_Laptop_per_Child](https://en.wikipedia.org/wiki/One_Laptop_per_Child)

$100 phone today is probably as fast as 4-year old flagship and I can't think of anything I can do on my phone now that wasn't possible 4 years ago.

</comment><comment><USER24> This is one of many reasons why I think phones should have easily replaceable batteries. I'm on my second Note 4 since launch and couldn't be much happier.

<comment><USER25> The problem with easy replace is what a lot of old phones had - a drop and the battery comes flying out too. Obviously, this has gotten a lot better since then, but I think there is an advantage in design for daily use for not having batteries being easily accessible to the end user. What Apple should offer is easy battery replacement for a price that isn't marked up significantly like the rest of their products, and treat it like a free maintenance plus the cost of the replacement part.

<comment><USER8> While having it externally accessible for trivial swapping is nice, the obvious downside is that it can come out inadvertently. A compromise where it is behind a screwed down panel and held in place with a connect (not soldered). This would mean easy replacement either by either by the end user, an authorized repair shop or apple. I don't really see this as any different than routine maintenance and replacement of car parts. If Apple charged 5x battery replacement costs compared to other phone vendors then this might cost them marketshare, however, people still buy fancy cars where parts are much more expensive.

<comment><USER9> This is what Apple does. They'll replace your battery for $79. Third parties will do it for a bit less. Doing it yourself requires a weird screwdriver and some other tools, but isn't terribly hard, and you can get a kit with a new battery and all the required tools for $25.

</comment></comment></comment></comment><comment><USER26> Placating the audiance before a potential lawsuit hits.

</comment><comment><USER27> This posting is flagged as "dupe". Which one is the canonical HN thread?

</comment><comment><USER28> If you're out of warranty they'll charge you an arm and a leg to change your battery too, if you opt to go to a service that isn't approved by them they immediately cut off any service or support for your device. $$$$$$$$$$ is all that matters</comment>


Regex for Noobs – An Illustrated Guide - <AUTHOR> https://www.janmeppe.com/blog/regex-for-noobs/ <comment><USER2> Regex is one of those topics I just can't seem to commit to memory. The concept is easy enough, and every time I need one I can usually work out what to do after a short amount of research, but I feel like I forget immediately afterwards. It may have to do with how regexes of any complexity look like machine code to me.

<comment><USER3> Regexone ([https://regexone.com/](https://regexone.com/)) is one of the best online tutorials I've come across for anything. I got a decent grasp of Regex after going through the series 1-2 times.

<comment><USER4> Reminds me of websites like [https://www.sqlteaching.com/](https://www.sqlteaching.com/) It's obviously not for regexes but after that I understood basic SQL so much better.

(also I love comments that point out amazing learning resources with full conviction)

<comment><USER5> The creator of regexone.com also created sqlbolt.com for SQL, which I also highly recommend.

</comment></comment></comment></comment><comment><USER6> One thing I still like about Perl is how well the regex syntax is integrated into the language, combined with being installed in just about every Linux modern Linux system, makes it really accessible from your fingertips.

If you're in a hurry and just need to do some one-off slicing and dicing, there's not much more powerful than being able to say, eg:

      $data = "foobarfoo";
      $data =~ s/bar/baz/g;
      print "$data\n";

versus python's more dramatic and formal:

      import re
      data = "foobarfoo"
      data = re.sub('bar', 'baz', data)
      print data

For some reason, the Perl =~ notation sticks in my head much more easily than the Python method.

Of course you can string a bunch of sed commands together in a shell script as well, but I find that becomes unwieldy pretty quickly in a lot of situations.

<comment><USER7> Agreed.

In other languages a part of me always feels like if I'm using regex I'm doing something wrong, because I used it so liberally in Perl. It feels like a Perl- ism so I try to make a conscious effort not to carry those over as they tend to be the source of inefficiencies.

<comment><USER8> TBF for this specific case it's very much unnecessary to break out regexes: most languages do have some sort of literal replacement string API:

        str.replace = replace(...)
            S.replace(old, new[, count]) -> str

            Return a copy of S with all occurrences of substring
            old replaced by new.  If the optional argument count is
            given, only the first count occurrences are replaced.

(though the documentation turns out more misleading than re.sub's: this states it replaces all occurrences but really replaces all _non-overlapping_ occurrences, which re.sub actually spells out properly).

<comment><USER7> Oddly enough I was asked once to determine if there were any differences between Perl Regex and Python's implementation in an effort to convert a tool I wrote into Python (so other developers could help)

I found only one very weird edge case worth noting, in Perl the regex "s/ a* / x /g" (spaces added to prevent formatting) will turn the string "bac" into "xbxxcx" because the "a _" technically means zero or more so it matches the spaces between the characters, not so in python it creates the string "xbxcx" because it matched the a in between one time and didn't count the empty spaces. Slightly less accurate results since _* does mean zero or more so the space between counts as zero characters.

<comment><USER9> That was changed recently, I get 'xbxcx' on 3.5 and 'xbxxcx' on 3.7

And coming to Perl vs Python regex differences, there are too many to count, Python's 3rd party module 'regex' is more comparable to Perl regex. For example, Python doesn't support possesive quantifiers, subexpression calls, \K, \G and so on

</comment></comment></comment></comment></comment><comment><USER10> [https://regexone.com/](https://regexone.com/) is a great resource for learning regex. Also try [https://regex101.com/](https://regex101.com/) as a sandbox for experimenting and expanding your regex skills.

<comment><USER4> Why not use sublime as your regex editor? What makes regex101 special?

<comment><USER11> Can't speak for Sublime but 101 has inline highlighting and explanations per regex feature/flag/pattern. It really is awesome.

</comment></comment></comment><comment><USER12> The trouble with regular expressions is not their use, but the different "standards" (or lack thereof) and figuring out what the interpreter supports.

<comment><USER13> Yes, two issues are a) knowing what to escape and b) what is supported or not. I was weirdly surprised to discover that there are some useful functionalities that are basically supported nowhere... except in vim. I think it was variable-length lookbehinds but don't quote me on this.

<comment><USER14> Lookbehind is restricted in many regex engines that support it (many don't at all). Some require the lookbehind to be constant-length (so if you have alternatives in there, they all have to have the same length, and you can't use quantifiers, basically). Some require it to be finite-but-known-ahead-of- time-length, so something like (?<=a{3,6}) is okay, but (?<=a{3,) is not. Also (?<=a|bb) would be okay.

.NET's System.Text.RegularExpressions.Regex is one implementation that has no restrictions on lookbehind. Having used PowerShell for so long it now happens sometimes that I forget when writing regexes for other implementations, as it's really convenient at times.

</comment></comment></comment><comment><USER15> Nice resource. You do start off making it a bit daunting:

>For most people without a formal CS education, regular expressions (regex) can come off as something that only the most hardcore unix programmers would dare to touch.

my experience wasn't as daunting as this at all.

this is my story: basically every regex I ever wrote always worked the first time and I found it super easy. my intro was the Perl 5 "camel" book, i.e. Programming Perl. never heard of regexes before that.

If you find this current tutorial we're discussing tricky or daunting, maybe give the resource I just mentioned ("Programming Perl" for Perl 5) a go because for whatever reason the explanation was super simple and writing a regex was one of the easiest things I ever did no matter what I wanted to do. I didn't know about the concept itself before I read that book. I've used it to parse loads and loads of things, use it in my editors, etc. It's always so easy.

I don't know if you can find the "Programming Perl" book, I tried to look and found something like that here: [https://www.cs.ait.ac.th/~on/O/oreilly/perl/prog/ch01_07.htm](https://www.cs.ait.ac.th/~on/O/oreilly/perl/prog/ch01_07.htm)

you can maybe ignore the stuff about Perl and still sort of follow the tutorial.

just an alternative in case someone had their curiosity piqued by this illustrated guide, but it doesn't quite "click" for them,, and wanted to see the same thing written out in another teaching way. And a note that for me it was always not daunting at all!

<comment><USER16> By any chance studied in Belgium, Ghent? Just curious for educational purpose :)

<comment><USER15> >By any chance studied in Belgium, Ghent?

No, I didn't. (at the time, bought the Perl book in the U.S., where I read it.)

</comment></comment></comment><comment><USER17> Regular expressions may appear intimidating to the complete newbie, but once you grasp a few simple ideas I'd argue it is one of the easier topics in CS.

<comment><USER13> And incredibly useful. I don't know if that's just me and the things I do with a computer, but I feel like it's a knowledge I've used a million times in my life, both for my pet projects and my job as a law school TA. What baffles me is that it's a niche knowledge. Excel is insanely useful, but it's considered a basic knowledge, or at least everyone has heard of it. Not regex.

<comment><USER18> Agreed. I teach a session on it every year to Economics PhDs and faculty — if I can only get them to come. It's something they just don't know they don't know.

[http://mackerron.com/text/text- slides.pdf#page19](http://mackerron.com/text/text-slides.pdf#page19)

<comment><USER19> Wow, I just wanted to say thanks for sharing this. These slides are great. Would you mind if I shared this link with some coworkers?

<comment><USER18> Share away!

</comment></comment></comment></comment></comment><comment> chupa-chups A small collection of gotchas to regexes: [https://www.rexegg.com/regex- gotchas.html](https://www.rexegg.com/regex-gotchas.html)

</comment><comment><USER9> Shameless plug: I've written books [1] which focuses entirely on the specific flavor supported by the tool or the programming language. I use plenty of examples to present the features one by one. These can be used for learning purposes as well as handy reference guide.

I think of regular expressions as a mini-programming language, and use loose fitting analogies

        Anchors --> adding if conditions
        Alternation --> Conditional OR
        a(b|c)d = abd|acd --> a(b+c)d = abd+acd
        Quantifiers --> string repetition and range operators
        Dot metacharacter + quantifiers + alternation --> Conditional AND
        Capture group and backreference --> variable
        Subexpression call --> function
        Character class --> sets
        Lookarounds --> custom conditionals
        Flags --> like command line options

So far, I've written books for Ruby and Python regular expressions, and BRE/ERE/PCRE/Rust for "GNU grep and ripgrep". Currently writing a book for GNU sed.

[1] [https://learnbyexample.github.io/books/](https://learnbyexample.github.io/books/)

</comment><comment><USER20> I consider myself to be fairly well versed in regex having used it for years, but a recent task to match only stored procedure definitions including the optional block comments immediately preceding them (if any) in large SQL scripts proved completely exasperating. I was deep in the weeds trying to get it to do optional positive look-behind assertions before I just gave up and wrote some code to do it.

The gory details of how to just match block comments are best outlined by this blog post detailing one kindred spirit's journey through the wilderness: [https://blog.ostermiller.org/find-comment](https://blog.ostermiller.org/find- comment), although this wasn't particularly helpful to my situation, it was reassuring to know that I was not alone and might prove interesting to the crowd here.

</comment><comment><USER21> Regex named capture groups are somewhat of an underused feature I find, especially with things like simple parsers they help to keep stuff readable [https://regular-expressions.mobi/named.html](https://regular- expressions.mobi/named.html)

<comment><USER22> The same is true for free-spacing mode and comments, which can improve the readability of regular expressions a lot: [https://www.regular- expressions.info/freespacing.html](https://www.regular- expressions.info/freespacing.html)

</comment></comment><comment><USER23> Has anybody seen an introduction to regexes that starts with finite automata?

I was introduced to them that way and it seemed very intuitive to me. I'm not sure if I just have a head for regular expressions, or if the way they were presented was especially good.

<comment><USER24> NC State's second semester CS course uses a regex model as an example to Finite State Machines; however, I think it's only an example, not a deep dive into it

</comment></comment><comment><USER25> I've taught a few "intro to regex" classes and have settled on a very simple explanation that seems to work even with fairly non-technical audiences. In short:

1) Regular expressions and "regex" are different things. Regex is a superset of regular expressions. But if you can understand regular expressions you can understand a huge number of regexes and have the tools to understand the rest of the syntax that the system uses.

2) There are many many many regular expression and regex dialects and engines. It's useful to learn the dialect you are trying to use.

3) Originally, regular expressions were used to describe a generator of strings. It can be helpful to approach writing regexes from this standpoint. It's not about what it matches, but what strings the regex can produce. I've had many students go from bewildered incomprehension to immediate eureka when I describe this.

4) There are only three rules that the beginning regex user has to know:

i) Concatenation - you can make a bigger generator by combining one generator after the other. For example: the regex 'a' and the regex 'b' can be concatenated into 'ab' and produces only the string 'ab'.

ii) Alternation - you can specify one character or another using the pipe character in most dialects '|'. For example the regex 'a|b' produces either the string 'a' or 'b'.

iii) Repetition - the character ' __* ' is a postfix operator that means that the character that preceeds it can be repeated zero to an infinite number of times. For example: 'a __* ' produces the empty string, 'a', 'aa', 'aaa' and so on.

5) By combining these (i.e. using concatenation) and the grouping operators '(' ')' you can write a regex for almost anything.

6) Nearly all of the other character you see in regexes that don't make sense are simply syntactic sugar that make it easier and shorter to write common expressions in a more compact form. Examples:

Writing lots of alternations of single characters (called character classes) \- 'a|b|c|d|e|f' can be written as [a-f] \- an expression that is the alternation of every character except the newline character can be written as '.' There's a whole host of these kinds of things.

Writing lots of different kinds of repetitions introduces lots of new operators \- 'aa __* ' can be written as 'a+' where '+' means 'repeat the previous character _1_ or more times \- 'a?' means 'repeat the previous character 0 or one times' \- 'a{1,5}' means 'repeat the previous character 1 to 5 times' There's also an entire table of these things.

After that it's mostly practice and referring to the description of the operators for the dialect you are using.

I usually cover capture groupings (e.g. \1, \2, \3 or $1, $2, $3) later on if necessary as it requires people to have a good handle on the particulars of their languages way of handling those things. At this time I'll also over the '(?:.)' non-capture group operator if their dialect allows.

About as frequently I'll have to introduce '^' and '$' and begin and end string operators and also deconflict it from '[^.]'.

All the crazy-ass back/forward reference stuff I usually leave out as people almost never need or come across those except in pretty rare instances. In those cases they usually have enough regex under their belt that it's just another topic to pick up.

This doesn't get anybody to pro-wizard level and there's always edge cases and weird Perl-golf stuff that's out there, but it'll get most people to generally functional inside of a day or two and I'll just make myself available to spot answer questions or remind them where they forgot something.

</comment><comment><USER26> Very nice write up, and easy to read. The author does a great job explaining the concepts. I do wish he would have dove a bit deeper though:

> [0-9][0-9]* (what this pattern matches is left as an exercise to the reader)

Some more real world examples to bring all the concepts home would have been great.

<comment><USER27> The pattern is kinda nonsense. The first part [0-9] matches one digit in the given range 0-9. The second part obviously the same but the * quantifier means the set can occur 0 or many times.

The whole pattern therefore means one digit 0-9 followed by zero or many digits in the range 0-9.

so "3" would match "21" would match "123456" would match "" would not match

The obviously "correct" pattern for this behavior would be [0-9]+ The + means 1 or more and thus makes repeating the set obsolete.

<comment><AUTHOR> Author here. I actually did not know this. I used this very old book (Unix Power Tools) and after finishing the chapter on regex I didn't recall seeing a `+` operator (maybe I forgot to add it or skipped over it). But indeed the `+` operator seems to make significantly more sense here.

Thanks!

<comment><USER28> Genuine question. Why would you write a guide for 'noobs', when you don't know the basics yourself? It seems kind of silly.

<comment><AUTHOR> I seem to have deleted part of the title. The article is titled

>Regex For Noobs (like me!) - an illustrated guide

So I am painfully aware that I'm a noob too, I even call myself one! I wrote this little piece because I felt that regex can be kind of intimidating for a lot of people but that it's actually pretty OK and fun once you get the hang of it. To get people over that initial barrier is what I aim to do with the "guide".

</comment></comment></comment></comment></comment><comment><USER29> I love [https://rubular.com](https://rubular.com)

</comment><comment><USER30> I learnt regex when I started with PHP in the 2000s and subsequently when I learned Perl. When I started studying copmuter science at the university, I was supper baffled that there is a full theory of regular expressions: The one of a regular (formal) language ([https://en.wikipedia.org/wiki/Regular_language](https://en.wikipedia.org/wiki/Regular_language)).

I recommend everybody who's interested in "looking behind the curtains" of regexp, their powers and limitations, to dive in a crash course of formal languages (Chomsky hierarchy). It can be useful to gain a feeling what a regexp can do and what it cannot.

<comment><USER31> the Chomsky hierarchy isn't the actual relevant hierarchy for formal languages - it's the polynomial complexity hierarchy

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

</comment></comment><comment><USER32> I can't memorize regex completely but my favorite cheat sheet for regular expressions is this simple one:

[https://github.com/ashchan/cheatsheets/blob/master/misc/regu...](https://github.com/ashchan/cheatsheets/blob/master/misc/regular- expressions-cheat-sheet-v2.pdf)

For more advanced expressions I just do a quick google search for existing solutions before attempting to recreate the wheel.

</comment><comment><USER33> If someone wants to practice doing regexes a bit, you can try out regexcrossword.com or my app (based on the site's idea, but I'm not affiliated to them) [https://play.google.com/store/apps/details?id=de.chagemann.r...](https://play.google.com/store/apps/details?id=de.chagemann.regexcrossword)

Note: this is a new account with my real name, I used to have an account here already.

</comment><comment><USER34> I love the style of the pencil highlighted handwriting!

<comment><AUTHOR> Author here. Thanks a lot for the kind words, they really do mean a lot to me :)

</comment></comment><comment><USER35> Wonderful intro, among the best if not the single best basic introductions I've seen.

<comment><AUTHOR> Author here, thanks a lot. Your comment means a lot to me!

</comment></comment><comment><USER36> Throw in + and I think this covers close to 100% of things I've ever had to grep. Very nice little tutorial/refresher.

</comment><comment><USER37> Nice write-up, would love something like this for more advanced concepts such as lookahead and condition.

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

</comment><comment><USER39> Word of caution: Regex is hard to maintain. They are harder to (re)read than C-Style languages.

<comment><USER40> Regex can be as easy to maintain as code, if you treat them like code:

1\. Don't put it all on one line

2\. Indent nested constructs

3\. Write comments

See for example Python's verbose regex syntax: [https://docs.python.org/3/library/re.html#re.VERBOSE](https://docs.python.org/3/library/re.html#re.VERBOSE)

<comment><USER39> The verbose mode helps a bit. I did a quick check and C# seems to have tricks to accomplish "verbose" RE.

But still, if you have to comment RE to improve readability is that really an improvement or one more thing to maintain?

My preference is to avoid RE in larger code bases.

</comment></comment></comment><comment><USER41> If there's a 'suggestion box', I suggest to make part 2 about greediness

</comment><comment><USER42> Nice guide. I would have liked a little more detail. But this is great as it is! Thanks

</comment><comment><USER43> "sufficiently advanced enough"? Did Arthur C. Clarke really say it this way?

</comment><comment><USER44> i remember seeing some japanese anime-style programming guides but never thought anything of them back then. i really miss these short illustrated guides but i don't recall what company was publishing them.

<comment><USER45> Perhaps No Starch Press? [https://nostarch.com/mg_databases.htm](https://nostarch.com/mg_databases.htm)

<comment><USER44> thank you so much. those were the books!

</comment></comment></comment><comment><USER46> I've never memorized any regex. It's so syntax dense without many intuitive characters. Not sure this is a problem. They're basically write only. Please always comment beside regexes what they intend on doing.

<comment><USER47> Also very helpful to have at least a few good unit tests to show what they should be doing

</comment></comment><comment><USER48> The handwriting is not easy to read.

<comment><AUTHOR> Author here, thanks for the feedback. I'll make sure the handwriting is clearer next time. Thank you!

</comment></comment><comment><USER49> Best regex intro I've read

</comment><comment><USER50> Well, this is a very good way of teaching people how to double their problems effectively.

<comment><USER9> Context: Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. — Jamie Zawinski

See also: [https://blog.codinghorror.com/regular-expressions-now-you- ha...](https://blog.codinghorror.com/regular-expressions-now-you-have-two- problems/)</comment></comment>


Ask HN: could someone please help me regain access to my HN account? - delan-temp

Foolishly, I tried out HN's "email yourself a new password" link just to see how it was implemented and what the email would look like, even though I hadn't really forgotten my password. It's been two days now, and I haven't received an email with my new password, even after trying again. Has this functionality worked for anyone else? Is there someone I can contact to allow me to use my account again?
I have a feeling that this could be due to me not entering an email address for my account, though I really thought I did. My account name is delan, if that's helpful.
Although I'm not sure if it's the right place to ask, I've just sent an email to email@example.com as well. <comment><AUTHOR> I am not sure it will help, but have you tried the whole pretending to login without a password method of getting a forgotten password email sent to you?

Good luck, sorry if this isn't of use.

<comment> delan-temp Thanks for the advice, and yes, I have. I also clicked the "email yourself a new password" link that appears after logging in without a password. Sadly, no emails yet.</comment></comment>


Show HN: Weavi – Nonlinear Text - <AUTHOR> http://www.weavi.com

<comment><AUTHOR> Disclaimer: I work for Weavi.

Welcome to try writing documents, mindmaps of long text, ebooks, manuals, tutorials. Glad to hear your feedbacks, thank you!

</comment><comment><USER2> I wanna try this. Is there a video demo I can see?

<comment><AUTHOR> You may try this: [http://youtu.be/fPtmHrjEjrM](http://youtu.be/fPtmHrjEjrM)</comment></comment>


Gold Rollercoaster (HTML5 physics game) - <AUTHOR> http://www.scirra.com/arcade/action/159/gold-roller-coaster

<comment><USER2> If it's completely made up of HTML5 and CSS3, then it's amazing! Really, I am impressed by what HTML5 can do.</comment>


Show HN: Safebox. Protect your secrets. Share safely with others. - <AUTHOR> https://safebox.es

<comment><USER2> This looks really good Mr Gauberger, and a necessary addition to the arsenal, so thank you very much. I only have one question: you say that the client-side IPs are logged to check the smooth running of the system (or similar). Is that metadata persistent, that is ,potentially available to an attacker? or is it short-lived?

<comment><AUTHOR> Right now client IP's are logged in the web logs as part of logging requests. Logs are kept up to 7 days.</comment></comment>


Followio – Track your followers - <AUTHOR> http://www.followio.com <comment><AUTHOR> Hey guys,

me and Denis have been working on this little side project of ours for quite some time now. At first, we didn't have any aspirations for it, but since we got little bit of traction and the user base was growing slowly but steadily, we've decided to give it a redesign and made it an app worthy of the year 2016.

\+ So far it tracks your followers count across various social networks (Twitter, Google, Dribbble, Instagram, Youtube, Vimeo and Soundcloud. Other networks are bit though to work with).

\+ Daily widget with actual followers count

\+ 30 days history

In near future we will release version working with backend API. That would bring new, stunning features:

\- info who started/stopped following you

\- which post was the most influencing

\- which tag was the most successful

\- what day/night time is the best for posting

And many more</comment>


Stabilization Theory: An Alternative to Neo-Darwinism - <AUTHOR> http://www.macroevolution.net/stabilization-theory.html <comment><USER2> PZ Myers had words about this some time ago: [http://scienceblogs.com/pharyngula/2013/01/17/ankylodillos-a...](http://scienceblogs.com/pharyngula/2013/01/17/ankylodillos- and-other-chimeras-another-crackpot-alternative-to-evolution/)</comment>


Ask HN: Microsoft Shop (ASP.NET MVC 4/5) for a New SAAS Web Project - <AUTHOR>

We love to talk about PHP, Ruby/Rails, Python (Django/Flask) etc for web applications. But what are your thoughts on using Microsoft stack specially given the advancements they have made so far with the whole ASP.NET MVC stuff.
I am asking because I have a SAAS project for which I need a technical co-founder and ended up talking to my brother who is excellent at MS stack (he does it for a living). of course he is biased and for every question I had for him (can it handle sessions well, ORM etc), he had an answer.
I know that stackoverflow is a huge MS shop but anyone else doing it at a large scale?
To give you more background, this SAAS project will involve latest web functionalities including drag drop builders, lot of client side javascripting (jquery etc)
For me, it is critical that the technical co-founder knows the stack more than what I think is good (i personally love to play with Flask btw:). So I am leaning towards giving him a go ahead but I know there are shit load of licenses to buy :) <comment><USER2> We use Microsoft's MVC stack at work, it is wonderful, particularly combined with Entity Framework.

Off the top of my head the biggest issue with using Microsoft's MVC is not within the framework itself, it is within the wider Microsoft ecosystem.

If you use MVC you now need Microsoft Servers (which cost more), maybe CALs, and you'll eventually need to pay for MSDN (for the latest Visual Studio and tooling, TS Online is wonderful however).

For us it made sense since we're in education so Microsoft gives us tons of stuff for either free or at a massive discount.

If I myself started a small business (with a limited budget) I'd likely look at something which offered a similar experience but without the dependencies (namely Ruby on Rails).

But I'd rate the MVC 5/Entity Framework 6/MS SQL setup alone very favorably. It definitely helps your productivity hugely and if done within the MVC-style will help maintainability somewhat (although you can write anything badly).

It is just the dependencies. That's really the only major downside.

PS - Speed wise it is pretty similar to compiled Java. Faster than [most] PHP (compiled or not).

PPS - If you go this route check out Stack Overflow's wonderful Miniprofiler. Great tool for SQL development (it work with anything Entity Framework can connect to including non-MS SQL servers like Oracle SQL).

<comment><AUTHOR> thx for your advice. really helpful. I totally understand the cost and dependency issues but i am willing to consider it as long as i can build a good scalable system.

Oh and Yes, I love Visual Studio. That's one MS tool I have used heavily before and absolutely love it. The debugging features is second to none in my opinion. i will definitely check out SO's miniprofiler more. looks awesome.

</comment></comment><comment><USER3> I think the MS stack is extremely usable especially if you leverage Azure to get started. It abstracts away a lot of the pain points that I've run into with dealing with the stack in my day job (mainly IIS). You should also check out the BizSpark program which will give you access to an Ultimate MSDN subscription and an Azure credit every month.

</comment><comment><USER4> I'm an ex-C# guy (7 years) doing Ruby (2 years) with a little bit of Java thrown in. My company is currently finding it tough hiring Ruby devs (no different from when I was hiring C# devs) and subsequently we're casting the net wide enough to include C#/Java/etc. guys that want to change to Ruby. We have a standardized technical test that asks the candidate to create a web application in 1.5 hours in the language of their choice.

Coming from a C# background, I'm continuously shocked at how poorly the C#/Java guys fair on the test. Most of the Ruby guys use Rails and a reasonable percentage nail the test but none of the C#/Java guys have even come close to about 10% of the full test. I don't think it's because they are necessarily bad coders. Some of the C# code reminds me a lot of what I used to write with IoC containers and design patterns galore. The point is that I think the language and platform ecosystem is so much better that it gets out of the way and let's you solve the business problem.

Is the test biased to quickstart projects? Possibly. How often do you need to click 'New Project' in Visual Studio, anyway? After thinking about it, it just doesn't seem that way. There is just so much overhead in doing things 'the right way' in C#/Java. Tests shouldn't go to the database. You need interfaces everywhere to inject your repositories into services or your services into controllers. This is not a one off thing. You'll have to do this everyday to keep your code base clean.

From a developer productivity point of view, it just seems like you can get further, faster with Ruby/Rails then with C#/Java.

</comment><comment><USER5> StackOverflow is a huge website. Its still a small Microsoft shop, and Jeff Atwood, Geoff Dalgas and Jarred Dixon pretty much coded it up...and for a long time ran it on a single dev/production box.

</comment><comment><USER6> I used MVC 1.0 for my startup in 2009. That time, not much open-source contribution was seen in Microsoft world, but that's not the scene now.

And in my previous job, we switched from ASP.NET MVC to Django, got a Django guy in our team. Still it took a double the time for developers to pick it [in a way money]. So I say unless technology is not a concern for the product, stick with it and build the product, make it successful, you can switch technology later also.

At the end of the day, customers don't care what platform you used.

If your bro is ready to go with Django/Ruby awesome, but keep in mind time & money before making a decision.</comment>


Startup Quote x Women 2.0: Kathy Sierra, co-creator, Head First Series - <AUTHOR> http://startupquote.com/post/7054601574

<comment><AUTHOR> In many cases, the more you try to compete, the less competitive you actually are.

\- Kathy Sierra

<http://startupquote.com/post/7054601574></comment>


Ask HN: What AWS products would you use for a new web app? - <AUTHOR> I am planning to start a new project with the following tech specs: php, mysql/mongo, nginx, react, git + mobile app (at a later stage)
Of course, until the app reaches a testable version, it'll be developed locally. But afterwards, I would like to use AWS products to reacth the market.
I started to read about various tools, but got overwhelmed with so many informations about various products.
Now, the question: if you would start a project with the above specs, what AWS products would you use? How would the perfect AWS stack look for you?
Thank you. <comment><USER2> \- RDS for the database system

\- Elastic BeanStalk for the application server

\- For git they have their own hosted service but you can always go with github/gitlab/bitbucket

\- S3/Cloudfront if you need to host assets

Using the first two you can run a production ready app in a couple of hours (or minutes once you got some experience)

<comment><AUTHOR> What about deployments, user management and testing?

</comment></comment><comment><USER3> knowing how expensive aws can be at work, I have decided to stay independent for my own project as much as possible by only using the vps, so I can switch infrastructure provider when I want to.

<comment><AUTHOR> I don't care about the costs for now. Free tier would be more than ok for a period.

<comment><USER3> free tier is only for the vps I think.</comment></comment></comment>


Show HN: Symphosis–Streamlining Resources - <AUTHOR> https://symphosis.com/ <comment><AUTHOR> Hey there, I am Keshav, the creator of Symphosis. I have been working on a small project and I wanted to share and get feedback from this community.

My goal with Symphosis is to streamline knowledge & resources. It's a way for a kid in Kentucky to learn about Startups or a college student to learn about Cryptocurrency or UX.

I built this because people usually ask me resources for Design, UX, and JS and so I thought if I could build a repository of my favorite hand-picked resources that I can easily share with anyone, it would be a great way to streamline resources.

I would appreciate any feedback to improve this and ways I can expand this idea! Thank you!</comment>


I just discovered TinyURL - <AUTHOR>

I'm sure many of you know about this already, but it's worth using if you pass links around. http://tinyurl.com/

<comment><USER2> In the spirit of TinyURL; <http://www.hugeurl.com/>.

It makes any url huge because Bigger is Better!

<comment><AUTHOR> LOL ;-D

</comment></comment><comment><USER3> A couple of other services in the same vein: redirects where you get to choose the text instead of a random string at <http://purl.org/> and quick posting of snippets of text or code at <http://pastebin.ca/> or <http://dpaste.com/>

</comment><comment><USER4> more useful - dwarfurl.com with some stats as well.</comment>


Larry Wall's quest for a 100-year programming language - <AUTHOR> https://thenewstack.io/larry-walls-quest-100-year-programming-language/ <comment><USER2> I think Perl fell victim to the inner-platform effect somewhere along the way. Larry Wall doesn't want to design a language anymore, he wants to create the ultimate platform for creating languages.

The article points out that Perl can read and execute COBOL if it's configured properly, which is neat, but ... what's the point of saying "this is written in Perl" is it's actually written in COBOL and running on the Perl interpreter? This reminds me a little bit of the JVM. There are dozens of languages that can be converted to JVM bytecode, but only one of them is Java.

Anyway, Perl's endless configurability is a mark against it, in my opinion. When I read Java or C++ or whatever, I have to wrap my head around what the developer intends to do, but the syntax is always the same. With Perl, you not only have to figure out what the developer intended, but what the developer told Perl the syntax is supposed to mean in this particular scenario. That's a big part of why Perl is considered a "write-only" language.

Also, I think we already have a hundred year language: Javascript. It's shitty, but it's good enough, it's forgiving, until it rises up to smite you, and it's ubiquitous. I don't think we'll ever really kill it off.

<comment><USER3> > Javascript

I think Python would be so much better. These languages are almost the same technically, but Python has the better syntax and better errors.

(ok I just realise it hasn't the same support for lambdas but they just make me think of node.js style anyway...)

<comment><USER4> (as a Perl programmer, FWIW) I think Python is beating Perl due to better support for integrating with C++, or at least more modern C/C++ libraries have bindings for Python. Otherwise, if you argue for syntactic simplicity, you at least have to explain why Lisp doesn't dominate (or why do Lisp dialects based on Java become popular instead of directly Lisp?). I don't understand yet the apparent appeal of Go, except maybe its support for concurrency (definitely needed).

<comment><USER3> I think it's actually more about the errors than the syntax. But Python getting rid of braces by enforcing indentation is just the way to go IMO.

Don't want to start another tiresome thread about LISP syntax, but I'm one of those people who prefer C style expressions - as long as no heavy higher-level functional programming is required, for which I by now see almost no practical use at all.

As a funny quip, Larry Wall referred to LISP looks as "oatmeal with fingerclips mixed in".

</comment></comment></comment></comment><comment><USER5> You will all be Lisping eventually; it's just a matter of time. The Javanistas are already running to Clojure, and someone will eventually realize that indentation is a ridiculous basis for program structure, then the Pythonistas will be programming in Hy, and so on.

</comment><comment><USER6> If someone is looking for a 100-year programming language, C is a promising contender. If you go back to include BCPL and CPL, that gets you back to the early 60's. However LISP goes all the way back to 1958, which gets it to the 59 year mark, and it's still in use.

<comment><USER7> From a language age point of view, FORTRAN and COBOL are closing in on a quarter of a century. I don't know the odds of COBOL surviving the full century but I'm very confident that large chunks of FORTRAN will still be in widespread use when it hits the century mark.

The ease of which code can be wrapped and reused, from FORTRAN into C or C++ libraries, which are then wrapped or reused in almost any other language, has led to FORTRAN being buried at the base of many existing libraries where FORTRAN was originally the only language for such tasks.

<comment><USER8> Fortran hit a _half_ century in 2004, and yes I agree Fortran will still heavily be in use in 2054. There is far too much legacy scientific code for it to vanish.

The only way that won't be the case is if AI is available to translate all that Fortran to a better language...I guess we'll see... :-)

</comment></comment></comment><comment><USER9> "easy things should be hard"? Figuring out what I was thinking when I wrote the script two years ago?

<comment><USER10> Ok you jest. Pretty sure there's a transcription error there.

"Easy things should be easy, and hard things should be possible."

[https://en.wikiquote.org/wiki/Larry_Wall](https://en.wikiquote.org/wiki/Larry_Wall) at the bottom of the page. Anyone passingly familiar with Perl has probably encountered it as a guiding principle of the language design.

If perl 5 had use strict; and -w enabled by default maybe the write only line noise crud would be less prevalent and we'd still be using perl rather than python? It's not actually that hard to write readable, clean perl. Python's signficant whitespace seemed like such a rubbish idea at first but wow, how much easier is it to read code written by inexperienced hackers when there is no choice in formatting. That strength dominating the lack of default strict and warnings, (maybe oo bolted on syntax too?) in perl probably won the day for python because after a decade of writing python it still feels like a step down from perl and I miss it some, although not as bitterly as all these lispers seem to miss lisp ;-)

<comment><USER11> Having loved getting to write some Perl 5 here and there I think I know how to write object oriented Perl, but I still have no idea why it needs to be so different from the way you would expect it to work (besides political reasons or for it to feel different than other OO languages).

Modern Javascript owes an enormous philosophical debt to perl and Larry Wall, who pioneered the whole "take some nice parts from Lisp but leave the parens" approach to language design.

I'm hopeful that the wonderful ideas from Perl 6 will be adopted into a language people use sooner rather than later. I guess that language could be Perl 6 but I'm doubtful.

<comment><USER10> My understanding is that OO wasn't so much designed into perl 5 as bolted on later with a pretty cool and useful hack. This makes writing your first few perl objects a bit awkward. "Bless an array, why? What's that got to do with what I want?" There's better library support that came in after I'd stopped writing much perl, but looks quite clean by comparison. Too late for me, sadly. Still python isn't so bad when you need to script something your colleagues might need to read. It could have been different though and I would have preferred a more Perl flavoured world. Maybe it will come again..?

[http://search.cpan.org/dist/Moose/lib/Moose/Manual.pod](http://search.cpan.org/dist/Moose/lib/Moose/Manual.pod)</comment></comment></comment></comment>


Why a coronavirus vaccine could take way longer than a year - <AUTHOR> https://www.nationalgeographic.com/science/2020/04/why-coronavirus-vaccine-could-take-way-longer-than-a-year/ <comment><USER2> I also wonder about deployment of said vaccine.

A couple thoughts spring to mind including both your standard, "it takes a while to get everyone in to get one of these," coupled with a growing distrust of expert medical advice.

A member of my own extended family is still convinced this is a giant conspiracy by [insert flavor of the week here] to [insert flavor of the week here]. I doubt that they get the vaccine no matter how fast it's available.

I know the goal of vaccines isn't realistically 100% deployment, but it feels there is going to be some lag here too.

My hunch is a return to normalcy looks more like everyone wearing masks in public for the next few years, with increased distancing in confined spaces (more sweeping WFH policies!) while we wait for adoption of the vaccine.

<comment><USER3> _" I doubt that they get the vaccine no matter how fast it's available."_

A lot of anti-vaxxers may start begging for or even insisting on getting the vaccine once they see enough unvaccinated people around them dropping like flies.

<comment><USER4> i hadn't thought about anti-vaxxers. it's true that their perspective might change with this pandemic and if we are able to make a vaccine.

the world is indeed not going to be the same.

<comment><USER5> However, it's _critically_ important that we don't enable the anti-vaxxers by rushing an unsafe vaccine.

<comment><USER6> True. Don't want to give anyone monkey virus or anything.

</comment></comment></comment></comment></comment><comment><USER7> Never gonna happen. I could be a good sport for another month, since they're asking nicely. Beyond that, the risk from creeping fascism quickly outpaces the risk from any disease that fits these observations, and I don't care if you believe it or not. Probably half of the country won't put up with a shutdown for even that long.

<comment><USER8> I'm alarmed at the glee with which Americans are giving up their constitutional rights and calling for more restrictions. America is not Asia, or Europe. This is a frontier nation, and we must keep it that way.

"Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety."

<comment><USER9> There are still frontier nations out there. Russia, Greenland, Outback Australia, the Canadian Territories. Perhaps Alaska.

But the continental US is a developed land with dense cities. Your idea of what your liberties should be don't justify the drastic externalities you will inflict on your neighbors.

<comment><USER10> There's damn few places in the US with population density akin to Europe or Asia.

The last big city I lived in, Fresno, is low density sprawl. The culture there is like half a million cowboys decided to move to the suburbs. They put on their cowboy crap to go to concerts at their major park. It's bizarre.

We also generally have shit public transit.

You cannot tell me that lock down is the only possible way to handle the pandemic in the incredibly low average population density of most of the US. Give me a break.

<comment><USER11> Fresno, CA has population density of 1,761.69/km2. That's not too far from Daegu, South Korea (2,818/km2), where 6,807 were infected so far and 142 people died. They stopped it only through really aggressive testing and contact tracing.

I'm so tired of this America-is-so-special argument. Freaking Mississippi has 2,260 patients now. Now what?

<comment><USER8> "Now what ?" \- Now we practice common sense social distancing and wait for the virus to take its course. No need to overreact and go full China style authoritarian lockdown. And yes, America is exceptional even if it annoys you.

<comment><USER12> America is not going to adopt common sense social distancing enough to be able to let virus run its course. That would requires massive cooperation in good faith from both parties and most states. Looking how things go on, it won't happen.

You are more likely to see epidemic being used to disadvantage other side, to make voting harder for this or that group and massive amount of lies then cooperation in good faith.

Which would had negative implications for democracies in rest of world too.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> We don't need a vaccine specifically. We need a treatment of one form or another that drops severity / mortality to acceptable levels. A vaccine is one option, but far from the only.

<comment><USER14> Exactly this , vaccination is a long term solution, right now we just need to turn a deadly disease into a manageable one.

</comment></comment><comment><USER15> Why coronavirus vaccine _public availability in the US_ could take way longer than a year.

Not everybody cares about formal clinical trials, especially when it affects their bottom line. The global regulatory perspective is not even mentioned in the article.

<comment><USER16> In 1976 we rushed a vaccine without adequate safety tests (formal clinical trials) and more people were hurt by the unsafe vaccine than would have been sick without the vaccine.

[https://en.wikipedia.org/wiki/1976_swine_flu_outbreak](https://en.wikipedia.org/wiki/1976_swine_flu_outbreak)

<comment><USER17> This is always a risk, but it can be a _calculated_ risk.

<comment><USER18> It would be a total disaster if the vaccine made things worse; it'd destroy trust in governments and vaccinations and our lock-downs would have been potentially worthless. It has to either work or we have to accept it'll take longer and deal accordingly. The risks of getting it wrong and implementing vaccination programs regardless are literally horrifying.

<comment><USER17> A death of a vaccine or a death of COVID-19 is still a death. We should act according to reduce the total number of deaths, taking into the probability we could be wrong (and if you say that probability can ever be zero, then I don't believe you). A 0.01% chance we could kill more with the vaccine than without is not an excuse to not deploy it IF the alternative means more likely much higher deaths.

But luckily we don't have a binary choice. A dead vaccine is usually much safer. We can start the vaccine to high risk groups early and watch carefully, expanding access as results come in. We've already started clinical human trials a month ago.

<comment><USER18> The 'calculated risk' you talk of is _such_ a bad way to evaluate the risk of a vaccine making things worse that I shudder to think of the consequences should such an attitude be adopted. Please, just stop, and read about the consequences of getting a vaccine wrong.

[https://www.pnas.org/content/early/2020/03/27/2005456117](https://www.pnas.org/content/early/2020/03/27/2005456117)

<comment><USER17> I am aware.

<comment><USER18> Then you must be 'aware' that we _can 't_ simply calculate a probability of whether the vaccine will be worse or not. You either take a real gamble that it won't be, or you do the sane thing and actually observe long term effects in trials. There's no possible way you can assign probabilities like you can a coin flip - each vaccine and disease is far too unique and unpredictable.

<comment><USER17> Actually, you are taking a giant gamble with not vaccinating as well. You can, in fact, assign probabilities based on historical data. Epidemiologists do this all the time. To pretend probabilities don't work in epidemiology means you don't understand either probability or epidemiology.

There is no safe option. Every option _will_ kill some people. Your goal is to minimize the expected number of deaths as best you can. That's just the way it is. That may mean doing nothing OR it may mean finding a way to accelerate a vaccine program OR some combination of expanded early access with careful monitoring to stepped expansion of the treatment access.

<comment><USER16> This conversation has stuck with me for several days, and I'd like to recap my thoughts on it.

I think this highlights the difference between risk and uncertainty. Risk is something calculable. Uncertainty is either incalculable or the error bars are so wide that it is practically incalculable.

I, for example, am willing to take a calculated risk and ride a motorcycle. It's a fun, economical way of traveling. I am not willing to ride a motorcycle I am unfamiliar with without a close inspection. Maybe an unfamiliar bike is in complete operational order. Maybe it has a crack in a frame wield and the frame may snap during normal operations. The error bars for what can go wrong on an uninspected motorcycle are too wide and it introduces a level of uncertainty I am not comfortable with.

The downsides of a bad vaccine have been shown multiple times in multiple places. It's _very_ bad. I'm unwilling to accept uncertainty when the downside is so large.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> HN hive mind: At what point are there sufficient numbers of survivors to establish herd immunity and get some semblance of normalcy?

<comment><USER10> I think we need to shoot for "a new normal" where better cultural germ control practices are a more normal part of the world.

In which case, we don't need to shoot for herd immunity. We just need to shoot for "Hey, stupid, don't do stuff like blow your nose at the restaurant table or conference table, good god."

<comment><USER7> Or: "Don't show up at the office sick, you're not 'dedicated', you're just an asshole."

<comment><USER20> I always wondered about this. For COVID, the recommendation is that you have to be symptom free for 14 days before you are considered not contagious. Adding another 7-10 days of actual disease, you will be asking people to take 21-24 days off for a disease ? That is simply not accepted in American corporate culture, where many mothers return to work 2 weeks after giving birth

<comment><USER7> Realistically, I mean symptomatic (coughing and sneezing). It's not perfect but people are typically most contagious while they have symptoms.

Plus, when you don't need bed rest, you can still do any work that can reasonably be done from a remote location. Most companies haven't done much to push that boundary in the past, and that's a good idea, but it's not a complete solution by any means.

<comment><USER20> Are there any studies that prove that asymptomatic people are less contagious ?

</comment></comment></comment></comment></comment></comment><comment><USER21> Even if the vaccine is available now, it took more than a year to mass-produce it and distribute to everyone in the world.

<comment><USER22> English does have a subjunctive mood for counterfactuals like this, to keep people from thinking that you mean the vaccine actually is available or was mass-produced in the past. The sentence would be more grammatical like this:

"Even if the vaccine were available now, it would take more than a year to mass-produce it..."

<comment><USER23> I think the OP may have just made a mistake. As a native speaker, his sentence is wrong. "It took" is perfect paste tense. I think their intent was to say "It will have taken, (future perfect), or "it will take" (simple future).

<comment><USER22> "It will take" would work fine if he had said "Once the vaccine is available, it will take...", because that doesn't imply the vaccine is available now.

"Even if the vaccine is available, it will take" is wrong because the vaccine is _not_ available. That means you need "would" instead of "will", and ideally a past subjunctive verb in the if-clause. "If it were available, it would take time to distribute."

[https://en.wikipedia.org/wiki/English_conditional_sentences#...](https://en.wikipedia.org/wiki/English_conditional_sentences#Second_conditional)

</comment></comment></comment></comment><comment><USER24> This was talked about and explained in January.

What we need to be discussing is why we are still discussing it.

There may never be a vaccine. Anyone who says 'until a vaccine' or 'when a vaccine' is not worth talking to.

<comment><USER25> Basically every country in the world is waiting for it, you can't realistically expect the virus to die down itself now that it's reached every country.

<comment><USER26> That's all well and good, but you can't realistically expect a vaccine to be created. It MIGHT be created, or it might not. There are many viruses for which we've tried and failed to produce effective vaccines.

<comment><USER27> Given that people survive it and then have large amount of antibodies, it seems likely that we can create a vaccine. While some viruses are incredibly challenging to make a vaccine for, like HIV and the flu due to the mutation rate. The coronavirus has a slower mutation rate than the flu. It may be the case that we end up needing yearly or every two year booster shots. But, the most frequent stumbling block for vaccine development is funding, which won't be a problem for coronavirus. MERS and SARS both had promising vaccine research that were shelved because the infections died out.

<comment><USER28> I don't have numbers, but it's mentioned that many recovered patients have low amounts of antibodies and immunity could be more a temporary affair.</comment></comment></comment></comment></comment>


HTTP/2 and GRPC – The Next Generation of Microservices Interactions - <AUTHOR> https://blog.netsil.com/http-2-and-grpc-the-next-generation-of-microservices-interactions-aff4ffa6faed <comment><USER2> Great read. Ended up looking for examples of the gRPC stuff and found this very interesting: [https://github.com/grpc/grpc/tree/master/examples/node/dynam...](https://github.com/grpc/grpc/tree/master/examples/node/dynamic_codegen)</comment>


Switching Season - <AUTHOR> http://al3x.net/2009/08/10/switching-season.html

<comment><USER2> Reading this on my freshly bootcamped MacBook Pro...is there something about the end of summer that makes me want to tinker?</comment>


Medium Has a Quality Problem - <AUTHOR> http://fredkschott.com/post/2013/10/medium-has-a-problem/

<comment><USER2> Medium's problem is that the posts just aren't that interesting. There are lot's of people that write well. But, yippeeeee, big deal. Sure there are people that elevate writing to an art form and regardless of the topic it will be worth reading. But most of the time it's a just form of communication and it's what's being communicated that counts. Medium has a quantity problem: the quantity of interesting posts/articles is low. Very low.</comment>


Is having a high IQ a prerequisite to being a great engineer? - <AUTHOR> http://www.shubharamani.com/wordpress/?p=25

<comment><USER2> All those expletives made me squirm.

<comment><AUTHOR> sorry to offend you.

<comment><USER2> I am not offended but it was just gratuitous.

<comment><AUTHOR> In this particular case, you are right. And I fixed it. Thanks for bringing it to my attention.

</comment></comment></comment></comment><comment><USER3> IQ + EQ = great engineer

<comment><USER4> IQ + EQ = great anything except a drone. But that's either impossible or very, very hard to find.

There's a reason people with very high IQs tend to be social outcasts; the way they perceive and model the world deviates considerably from the norm. And unless they succeed socially (typically by making a lot of money) the world will generally be quite happy to leave them be.

<comment><AUTHOR> The 4 colleagues I mention in my writeup had both -- IQ + EQ. They were kind, humble, and patient people. But you're right, that combo is rare.

</comment></comment></comment><comment><USER5> IS NO!

MONGO GREAT GNEER, MONGO DO NOT GREAT IQ!</comment>


Want to design your SmallSat mission? - <AUTHOR> https://open-cosmos.com/solutions/beeinnovative/ <comment><USER2> Do you have a more technical description? I think a post with more technical information would be a better fit for this site.

Do you build the satellites or each costumer build it's own? Materials? Restrictions? How many satellites per launch? Had you already launch a mission? Timeline? How high is the orbit? Expected time of life in space of the (micro)satellites?</comment>


Unfortunately I don't give a shit - <AUTHOR> http://mattgphelps.com/shutUpIDontCare.php <comment><USER2> I find the irony of complaining about complainers too delicious to ignore. It's as if the author is trying to shore up his hurt and limited ego. What is the point of the post?

It won't help people caught in complaining and whining defense mechanism at all. Is it a brag that you're so successful you don't get anything to complain about?</comment>


Show HN: Stack – Save and explore books and book lists - <AUTHOR> https://stack.app <comment><AUTHOR> Man I didn't expect to see this land on the front page...it was actually falling off the "new" page with a single, lonely point the last I saw it.

So basically I made this to scratch my own itch: I wanted a simple/quick way to save the books I enjoyed and read with the possibility to add a quick review and also be able to create "stacks" \-- curated lists of books that fall under a common theme/category. I feel like I've seen so many of these on the web but in a unstructured format: lots of "summer reading" blog posts, celebrity reading lists, etc... and thought that having a structured way of creating lists would be a nice thing to have.

As many of you noticed, the site is not optimized for mobile, the tos suck and overall it is still very much alpha but I really appreciate the interest and hope to see some books saved and stacks created if you like the idea enough to sign up!

Also, don't take it so seriously: I know a lot of Show HNs are now part of elaborate launch campaigns but this is truly just a side project I've been hacking at and wanted to share on a whim with the community.

Cheers

</comment><comment><USER2> I'm slightly embarrassed to admit that I wasn't paying complete attention on the sign up page, and I pasted my new password into the "Pick a username" field because I expected it to be a password verification field.

Also, there is apparently no way to change my username (even though I sign in with my email address, so I assume my username is not a primary key), or change my password, or delete my profile.

<comment><USER3> This same thing happened to me. Two fields for passwords is such a common pattern that often we fill in the blanks automatically. And I think there is a design smell in current signup page. Easiest fix would be to move the username box above password.

<comment><AUTHOR> I found a user that seems to match but I'm not 100% sure it's you. Could you shoot me an email at: email@example.com?

</comment></comment></comment><comment><USER4> FYI: On an iPhone SE, and the mobile layout looks terrible and impossible to read or scroll. The width on the grey boxes is too small. Also, I don't know why you'd label this "anti-goodreads". I personally have only used goodreads a few times, but I like it

<comment><USER5> There was a discussion on HN a while ago about the things people didn't like about Goodreads[0]. This might be a response to that discussion and an attempt to capitalize on it.

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

</comment></comment><comment><USER6> Looks more like an Amazon wishlist alternative (which is a feature I've used extensively for years). Having a direct integration with Amazon via a chrome extension would be nice. Assuming there were some other features to make it worth switching (ie, a far nicer UX/design).

I previously worked on a 'smart' Goodreads alternative that used NLP to data mine social media, (and eventually) Amazon, the press, and your own email for book names which provided unique recommendations and popularity analytics. But it never really took off as a product. It was more of a demo of the AI tech underneath. [https://www.producthunt.com/posts/bookvibe](https://www.producthunt.com/posts/bookvibe)

My recommendation is to find some niches and focus on them content-wise. There's plenty of thriving mini book communities (scifi, romance, pop-sci Malcolm Gladwell stuff, etc).

<comment><AUTHOR> dmix, thanks for the feedback.

Not 100% sure what you meant by "Having a direct integration with Amazon via a chrome extension would be nice": like a button that would let you save a book to stack if you happen to be on that book's amazon page?

If that's what you meant, I feel like that sort of changes the purpose of the site from exploring and discovery to shopping?

Also, tried to check out Bookvibe but it seemed to be down.

</comment></comment><comment><USER7> As a non-Goodreads user, can you help me understand what Goodreads does poorly and what your website does correctly?

<comment><AUTHOR> Hey zapstar.

Personally I just wanted a simple site where I could record my reads and make curated lists of books. Goodreads offers some version of both but in my opinion the site has waaay too many features/buttons/sections and is too complicated/too much.

I guess that's why I see it as an anti-goodreads

<comment><USER8> I'd love to be able to add user defined tags to a book I have added. A nice simple feature that lets your users do all sorts of more complicated things if they want. I would use it to track if I have specific books in audio, digital, and/or paper format.

<comment><AUTHOR> That's a great idea! Do you see these as being strictly private and personal or would you consider having public tags?

<comment><USER8> I would only need it as personal but wouldn't mind if it were public. Depends how much complexity you want to add.

</comment></comment></comment></comment></comment><comment><USER9> The concept is good but the website is not mobile friendly. I would love find a book but apparently there is no search book functionality. Also it would be nice to view details and comments about book when I click the cover thumbnail, right now it takes me to amazon which somehow feels like promotional.

<comment><AUTHOR> codefreq,

The title of the book will take you to the book's page.

Maybe I should add a label on hover to indicate that the book cover goes to Amazon, the idea was just to have quick access if you were interested in the book.

And yes it's not mobile friendly yet. I figured the HN crowd mostly browsed on desktop so it would be fine for now (maybe I was wrong)

</comment></comment><comment><USER10> I'd remove the timezone selection from the sign-up / join page.

Everything you add to that page that isn't strictly necessary for signing up, is bad for getting people through the sign-up process. There is nothing critically important about setting the user timezone, for a service like this, such that it must be established on the sign-up page.

Place it in a settings section for the user account (if you haven't already) and call it a day.

<comment><AUTHOR> Good idea!

</comment></comment><comment><USER11> Some feedback:

\- I think the shadows around the boxes are a bit too much. I'd pull those in a bit.

\- I'm skeptical of the links going to Amazon. Are they affiliate links? What about other bookstores?

\- I like the "stacks" idea, which I assume is a curated list of books to read.

\- It would be nice if there was a discovery mechanism where I can enter books I like, and it'll give me other options that I might like.

Congrats on the launch!

<comment><USER12> Yeah. And isn't GoodReads linking to Amazon what makes GoodReads Goodreads? I was expecting Stack not to include any links like that.

I guess I just don't know what "anti-goodreads" means.

</comment></comment><comment><USER13> Hey this is great. It might not be super polished but the book titles I have found so far are amazing. It might just be we like the same things but I am totally on board if this stays small and we have a bunch of great contributions to stacks. If it grows big I hope you find a way to keep the good quality of stacks.

<comment><AUTHOR> Thanks! Glad to hear you found some interesting picks! Maybe the stacks could have some kind of upvote mechanism or even just have some "Editor's picks" in the future.

</comment></comment><comment><USER14> This is so great, nice job!!!! I've been looking for something like this :). Going to play with it this weekend as I much prefer people's recommendations compared to GoodReads which never seems accurate or useful.

<comment><AUTHOR> Thank you! I really appreciate the compliment! Let me know if you have any feedback once you use it: firstname.lastname@example.com

<comment><USER14> Will do! I love reading but somewhat despise Goodreads as it is so hard to search for books with above x stars from people who also liked x and y or so on. Hoping this can produce great lists I can find from people who liked x books eventually. I'll try to make some lists to add to it this weekend :)

</comment></comment></comment><comment><USER15> Opinion: what we need is a better Android mobile app for LibraryThing[1], the already-exists alt-Goodreads. If you're an avid reader, there's a lot to be said for a service such as Goodreads or LibraryThing which handles the ISBN and Edition work to maintain your library along with the copious other features related to book management and their plentiful connections to external sources of information to pull in the data you want/need automagically.

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

</comment><comment><USER16> Also, only related in name, it made me think of stack magazines, which is actually pretty cool:

[https://www.stackmagazines.com/](https://www.stackmagazines.com/)

Get one independent magazine to your door every month for ~$9.

I've gotten 3 so far, and its' been cool to kind of feel what different magazines value, and see such a variety.

</comment><comment><USER17> This is great. There is definitely a need for a site that just lets you create a "stack" of books for x topic. Good reads is bloated for this. I'm tackling the same problem with my app. Good luck.

[1] [https://bookshulf.com/toplists](https://bookshulf.com/toplists)

<comment><AUTHOR> Thanks. I agree :) I like Bookshulf's design

</comment></comment><comment><USER18> What I want from a Goodreads alternative:

Curated lists of books from people I respect.

Lists of books that are not all dominated by Harry Potter and other trash.

The ability to follow people and keep track of the books they recommend.

A faster website that doesn't constantly error and crash

Better data with fewer duplicated books.

Easy to use API

<comment><USER19> Are these all the areas where you think goodreads needs work?

If so, can't you keep track of the books people recommend by simply looking at their ratings?

I would like to see:

\- Ability to have reviews be "friends-only". My reviews are generally just notes to myself, and I spend about 30 seconds writing them. I don't like that they end up in the general pool of reviews.

\- Faster website! It's crazy how slow the website is. I usually view the desktop version on mobile. I suspect it's intentionally nerfed in order to drive people to the app.

Overall, goodreads is valuable to me because it helps me: see all the books that authors have written; find new books to read via seeing what my friends read; keep a list of books that I'm going to read in the future; see a list of books I've read; and learn when an author I've read has something new. Stack seems to just be a place to keep track of what I've read (but I haven't created an account, so I may be missing features).

<comment><USER18> Eh most people don't have a Goodreads.

Like, a "Goodreads" official list of Elon musk / Steve jobs / Obama recommended books so I don't have to sort through the chaff.

Or a "Goodreads presents: John Carmaks favorite computer programming books."

Basically an employee or moderator builds the list, or they explicitly work with someone like John Carmack to make a "Goodreads official" list

<comment><USER20> Not an endorsement but: [https://www.theceolibrary.com/](https://www.theceolibrary.com/)

</comment></comment></comment></comment><comment><USER21> Amazing stuff! Needs some work on mobile, though.

If an API is ever available, I'd gladly plug into it and build an Android app.

I'm a sucker for apps when it comes to something I use every day.

<comment><AUTHOR> Thank you! I agree, mobile design will be the next thing up for sure.

That would be sweet! Shoot me an email: email@example.com and we can talk about an API!

</comment></comment><comment><USER22> From the TOS:

2\. Description of Services We make various services available on this site including, but not limited to providing employment ads, and other like services.

</comment><comment><USER23> Before spending my time and exposing my private information by registering I wish to know how this site is better than Goodreads.

One data point:

Goodreads TOC: 92 lines

Stack TOC: 174 lines.

<comment><USER24> The TOC is totally weird and looks like it's been copied from a different site that offers, among other things, "employment ads, and other like services", "E-mail, Messaging, Blogging, and Chat Services". On the bright side, at least it doesn't have a forced arbitration clause.

<comment><AUTHOR> It is. I have to admit Terms of Service / Privacy pages just seem annoying to have in the first place so I just hacked some previous terms I had together. Maybe I shouldn't have included them at all instead of having some half baked terms.

I actually don't even know what they say, but I definitely didn't make this to sell the emails or spam people. Sorry if this put you off

<comment><USER24> Well, a lot of people do read - or at least skim - TOCs. For a typical service, the front page tells us all the author wants us to believe, but the TOC hints at all the shenanigans they're willing to pull.

If you're not planning to do any shenanigans, it might be worth it to make the TOS reflect that.

</comment></comment></comment></comment><comment><USER25> If you are looking for book collection apps, I started using Libbo not long ago, pretty smooth!

[0] [https://apps.apple.com/us/app/libbo-your-books- organized/id1...](https://apps.apple.com/us/app/libbo-your-books- organized/id1358016169)

</comment><comment><USER26> I'm not sure if this a part of the mobile issues others have addressed but the review preview for the first book I clicked on (give the anarchist a cigarette) there wasn't enough copy for me to have a full understanding of what it was. Good luck on your next iteration!

</comment><comment><USER27> Looks like the CSS needs a bit of cleanup ;) Impressive portfolio, though. I like your stuff.

<comment><AUTHOR> Shhh.. you haven't seen anything :p

</comment></comment><comment><USER28> Upvoted for effort, but if all I want to do is show off a subset of the books I've read and offer a bit of commentary on selected titles, I could do that on a web page. Why would I want to bother providing personal data to yet another web app?

<comment><USER29> I have an app I want to write. It would need crowd-sourced data as well, and there seem to be only a couple of ways to make it worth someone's while to enter that data.

One is soapboxing. Medium, for an instance. I don't have good feelings about that. The other is recommendations, but I'm not sure if that works either.

Consider the bell curve of average users, where the curve is how widely read (in this case, literally, but also figuratively) the individuals are.

If I'm out on the right end of that curve then my value to the site is high, but the value of the site is rather low to me. If diversity isn't very high, then everyone is mostly entering reviews for material I'm already familiar with. I'm bored. I get nothing except maybe a soapbox.

Perhaps sites like this should consider these prolific people to be their 'whales' and treat them the way other companies treat whales; by going out of their way to do something for them. Could be, and I'm just spitballing here, that a properly run site should be paying a few professionals to add material and make sure there's something substantive for these high value users. Hand- built recommendations, if nothing else presents itself as a solution.

<comment><USER28> I can soapbox on my own website. You might argue that the purpose of a soapbox site like Medium is to get read, but getting read doesn't matter as much to me as it once did. I've had people read my crap, and it wasn't the life-altering experience I thought it would be because nobody cared. What matters to me now is having written.

Recommendations are likewise of little worth to me; nobody knows my preferences as well as I do, and any attempt to accurately model my preferences will fail because I gain more by withholding accurate information than I do by providing it.

The truth is that I'm not really anybody's target audience.

</comment></comment></comment><comment><USER30> Which api backend shold one use for the books data? The obvious choice is Amazon, but maybe there are different, better data sources available? Any insights into better book apis?

<comment><AUTHOR> Google books is good

</comment></comment><comment><USER31> This reminds me of Library Thing. Not sure if that service is still up though.

</comment><comment><USER32> I wonder whether the messaging (at least the HN headline) is ideal.

I clicked through, but I don't know what makes it an anti-Goodreads. Perhaps the pitch really is just for people who have a strong negative opinion about Goodreads? For me, I don't care about Goodreads at all.

<comment><USER33> I suspect this was posted here because of some recent threads that were very critical of Goodreads. You might search back through recent HN history to find some of the things people dislike about it.

<comment><USER32> Thanks, I'd missed that thread. So I guess that's not the pitch, just an angle to appeal to HN.

</comment></comment></comment><comment><USER34> "Anti-Goodreads" isn't a good thing. That site is fantastic and has lots of functionality. This project looks like the typical misdirected form-over- function appeal.

Just because it looks nicer doesn't make it better. And in this case it's broken on mobile.

<comment><USER35> Could you describe what functionality of GoodReads you use? I've come across the site before, but all I've ever found useful there was that it has a good compendium of quotes, which I use to get my quotations right. I'd be interested to know if it's a more useful tool than I've realized.

<comment><USER34> Proper search. Reading lists for progress and archives. Friends to follow. Book clubs/groups. Reviews and forums to discuss books. Recommendations and charts to find new books.

<comment><USER35> Thanks for responding. I have meat-space solutions to all these problems, so it's not for me, but that doesn't mean it's not for someone else. Enjoy!</comment></comment></comment></comment>


Capturing your start-to-be with a wiki - <AUTHOR> http://blog.pretheory.com/arch/000428.php <comment><USER2> Does anyone know of a good FOSS product that emulates the functionality of Lotus Teamroom? I am anal about my organization and much prefer a directory structure for it's ease of organization. I currently use a hacked verstion of Relay (http://www.ecosmear.com/relay) with a custom written XML parsing function to add context to directory and files for my Wiki-/teamroom- like functionality. However, is there a good alternative to this that a reader knows of?

</comment><comment><USER3> I saw a big momentum improvement in my startup as soon as I got a development server setup with Trac. The wiki on there has definitely given us a place to toss ideas around and to have them recorded. The problem with email is that things get too spread out across different threads. The wiki lets you structure it more permanently.

</comment><comment><USER4> OR just start a blog....

<comment><USER5> The problem with a blog is the organization. Many times it is date and category based, and you can better sort a wiki. Also I have found the speed in editing and posting to the wiki to be faster and simpler.

Another issue unless your running your own blog is most blog services run public, and you probably just want to have the discussion with your co founders and advisers. Most blogs also don't provide revision support which we found to be very useful when multiple people are editing and working on a file, a good safety net.

Blogs are great for publishing and archiving those items, but not necessarily the best for continuous brainstorming.</comment></comment>