Frédéric Chopin and George Sand Go to Majorca - <AUTHOR> https://www.laphamsquarterly.org/roundtable/there-are-no-pianos-be-had-here <comment><USER2> Poor Chopin. A genius with impeccable musical taste, capable of the greatest finesse and beautifully singing melodies on the piano, Chopin lived his life battling against Tuberculosis. It's wild to think that with modern medicine, he would have lived a fuller and much more productive life. What if he died at 70 instead of 39, and produced double the number of pieces he did? His works are already lauded as the the top echelon of piano music, which is easy to hear in Chopin's Ballade No. 1 in G Minor, for instance: [https://www.youtube.com/watch?v=Ce8p0VcTbuA](https://www.youtube.com/watch?v=Ce8p0VcTbuA)

If Beethoven's or Bach's late periods are any indication, brilliant composers can continue innovating and moving forward well into their 50's and beyond. Such a shame that Chopin and Schubert died such premature deaths, though one could argue it's lucky they did indeed live long enough to give us compositions.

<comment><USER3> A bit unrelated but I sometimes wonder what Bach would have thought of, and how he might take advantage of modern day electronic keyboards. The ability to change voices at will (even on different areas of the keyboard), and importantly for Mr. Well Tempered, the ability to change tunings with the press of a button.

Surely even these days keyboards should be sensitive to key aftertouch to get a clavichord like vibrato that Bach was fond of.

It'd be like Switched-on-Bach^10 but improvised live by a single madman on his electro-organ.

<comment><USER4> Thats a plot point played for gags in the original Bill & Ted's Excellent Adventure

[https://www.youtube.com/watch?v=Q8UGAbAPPkk](https://www.youtube.com/watch?v=Q8UGAbAPPkk)

</comment></comment></comment><comment><USER5> There was an old game called Eternal Sonata that based around the life of Chopin. One of my all time favorites.

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

</comment><comment><USER6> _> "There was then no one single way to build one: it was much like the automobile industry at the end of the century, inventors and keen-eyed engineers advancing their own ideas, often their own patents, consensus following only later."_

Kind of like how we're now standardizing on Javascript as the one true programming language, as all others fall into disuse. _(ducks)_

</comment><comment><USER7> Great article. Perhaps his trials and tribulations were essential to his compositions of melancholy genius also filled with joy & beauty & rage.

One of his last works, his Op. 60 Barcarolle is incredible if you haven't heard it yet: [https://www.youtube.com/watch?v=q9umBE2Gn7Q](https://www.youtube.com/watch?v=q9umBE2Gn7Q)

</comment><comment><USER8> The Guardian is currently featuring (21/08/2018) a very enlightening podcast with the author (Paul Kildea). It's available at:

[https://www.theguardian.com/books/series/books](https://www.theguardian.com/books/series/books)

<comment><USER9> Kildea's latest book tracks the fascinating history of one of Chopin's pianos - the one he had in Majorca on which he composed some of the preludes.

<comment><USER10> That's the piano the article is about.</comment></comment></comment>


Rav1e: An experimental AV1 video encoder, designed to be fast and safe - <AUTHOR> https://github.com/xiph/rav1e <comment><USER2> What does "safest" mean in this context?

<comment><USER3> Presumably that it's implemented in Rust, and thus does not suffer from many of the usual bugs that C code bases suffer from?

There seems to be some asm code as well, which obviously does not enjoy the safety advantages of Rust.

<comment><USER4> I always wondered if in practice it really checks out, is rust code really safer? Did the bugs just shift to different ones? Is there anyone who wrote about that already?

<comment><USER5> It's probably not quite equivalent but I believe Frederico & al found & fixed a number of issues when they converted librsvg to rust. You may want to check the archives on their blogs (IIRC it's split between Frederico's own and the librsvg one) for more, or specifics.

But "safe" rust at least intrinsically protects from use-after-free, double free, dangling pointers, null-pointer dereferences, out-of-bounds accesses, … You may still have logic bugs of course (though the richer type system expressivity also allows better static encoding of application & domain logic), but these baseline memory-safety issues will only be a problem in specific and tagged `unsafe` blocks rather than throughout the application.

<comment> brian-armstrong All of the pointer issues you mentioned have already been solved in C++ by unique_ptr.

<comment><USER6> Good, now try to enforce developers to actually use it on their code and all third party libraries they link to.

Ah, and not passing it around by address or reference, instead of actually moving ownership.

C++17 is a great improvement, but for it to work out in this context, developers need to actually write C++ instead of "C with C++ compiler".

<comment> brian-armstrong This is a silly argument. When evaluating whether to use a tool, you should consider how /you/ would use the tool, not how someone else does.

<comment><USER6> Yeah, it kind of works out in the ideal world where one works alone, writing 100% of the source code.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Will AV1, or even VP9 for that matter, ever be suitable for realtime encoding, or is that just not their target market?

<comment><USER8> Yes, of course. Anything else would be DOA.

On a general note: there really seems to be an extremely inaccurate narrative regarding AV1 and speed taking hold. I can't understand why it isn't easier understood that a reference implementation is about accuracy only, completely ignoring performance considerations. Not in the usual "we'll now try to make it faster", but as in "this is never meant to be used in production, and it's performance is in no way indicative of the performance optimised encoders will see".

As but one example: media encoding is pretty close to being "embarrassingly parallel" in principle, making the first three orders of magnitude easy wins for a straightforward GPU implementation.

<comment><USER9> > As but one example: media encoding is pretty close to being "embarrassingly > parallel" in principle

Which part? 90% of what you're doing is context or inter-frame dependent. Video encoders that live on graphics cards today use dedicated ASIC hardware.

<comment><USER10> You can divide the video into chunks and encode the chunks in parallel. This is what Netflix does:

[https://medium.com/netflix-techblog/high-quality-video- encod...](https://medium.com/netflix-techblog/high-quality-video-encoding-at- scale-d159db052746)

[https://medium.com/netflix-techblog/dynamic-optimizer-a- perc...](https://medium.com/netflix-techblog/dynamic-optimizer-a-perceptual- video-encoding-optimization-framework-e19f1e3a277f)

Works well when you're doing video at the scale of Netflix, but not necessarily much help to the individual user who just wants to encode a video.

<comment><USER11> > You can divide the video into chunks and encode the chunks in parallel.

What about live encoding?

<comment><USER10> You can split the encoding across 32 cores:

[https://bitmovin.com/constantly-evolving-video-landscape- dis...](https://bitmovin.com/constantly-evolving-video-landscape-display- ibc-2017/)

[https://bitmovin.com/bitmovin-supports-av1-encoding-vod- live...](https://bitmovin.com/bitmovin-supports-av1-encoding-vod-live-joins- alliance-open-media/)

</comment></comment></comment></comment></comment></comment><comment><USER12> > ~5 fps encoding @ 480p

How does this compare with the reference encoder?

<comment><USER5> You'd need to run them on the same machine to make sure you get a proper comparison but [https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=5601](https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=5601) has some runs. One of the users downthread ("entac") provides both libaom and libx264 numbers, they get 63fps for libx264 and 0.0924fps for libaom (r9028)

Also this currently does delegates work to libaom.

<comment><USER13> _> Also this currently does delegates work to libaom._

Currently just for the transforms and to initialize the probabilities for the entropy coder.

</comment></comment></comment><comment><USER14> Just curious, what's the memory footprint on the encoder in real life?

Do different video encoders, for the same codec, and input produce different outputs, or is the algorithm specified in a way where it produces the same results for two given inputs, no matter what?

<comment><USER15> For almost all compression algorithms (both lossless and lossy), only the decompression is specified. A compressor can do whatever it wants as long as it produces a bitstream that a compliant decompressor can decode.

For example, you can make a video enocoder that produces a compliant video stream in which every frame is a keyframe and every macroblock is independently fully encoded, thus reducing AV1 (or H265, etc.) to MJPEG. But if the result is decodable by a compliant decoder, your compressor is compliant. It might even be somewhat useful (e.g. output needs to be zero latency or output is intended to be edited).

<comment><USER16> And this is how people keep making substantial improvements to ancient formats like JPEG or MP3.

E.g. Guetzli from Google: [https://github.com/google/guetzli/blob/master/README.md](https://github.com/google/guetzli/blob/master/README.md)</comment></comment></comment>


Write tests. Not too many. Mostly integration - <AUTHOR> https://blog.kentcdodds.com/write-tests-not-too-many-mostly-integration-5e8c7fff591c <comment><USER2> Probably worth mentioning the source of the structure of this quote- it's Michael Pollan's distilled dietary advice: "Eat food. Not too much. Mostly plants." Maybe that quote itself is based on something else, but it's where I know it from.</comment>


Ask HN: Have a hard time working at home. Co-working an alternative? - <AUTHOR>

Hi, friends.
I'm funemployed at the moment and it feels like I can't work at home at all. I either get super distracted or tired or just run-down and dejected.
Do others in similar situation ever experiment with co-working spaces? Do they work out? <comment><USER2> I've been remote for four of the past five years and only recently signed up for a co-working space in Toronto: [http://projectspac.es](http://projectspac.es)

While I don't find any issue working from my bedroom (as far as work/life separation is concerned) but I do get stir crazy if I'm at home more than 60% of the time.

For a while I was hitting up a different coffee shop almost every day, and that's great while you're travelling, but getting a coworking space has been key to taking the next step in my career.

I hummed and hawed about the price, and decided that as long as it let me pull in a little freelance, I could afford it.

Since the summer, my rate has tripled, I'm picking up freelance each week in addition to me remote contract, and I'm much HAPPIER!

What I like is that it's a space filled with other entrepreneurs, and iron sharpens iron. I get so much motivation being around so many other people hustlin hard that I end up effortlessly putting in an extra 2-4 hours a day without realizing it!

Also great for stupidly fast internet, meeting likeminded people, and getting that social aspect back to your work. Many people at the spaces support each other's businesses as well, although so far I haven't found any clients from within that pool.

</comment><comment><USER3> I highly recommend a coworking space without-a-doubt. I personally don't find the same issues with working at home, but coworking spaces have a lot of benefits including; fast internet, access to printers/scanners/faxes, conference rooms, private booths, amenities (showers, mouthwash, razors), foosball/ping pong tables, coffee/tea, snacks, events and more.

I just did a two month stint at WeWork in Seattle and I must say, as far as coworking spaces go, WeWork was the most enjoyable. You got all of the aforementioned benefits and on-top of that, free beer. People from other startups and businesses would regularly socialise, play foosball together and events were happening all of the time.

If home life is getting you down, definitely consider a coworking space as they are not even that expensive considering the benefits and support that you get.

</comment><comment><USER4> I can't stand working at home & I'm full-time remote.

Coworking spaces are great & I would completely recommend one for anyone working remotely. I think it's important to keep a clear distinction between home & "the office" & I find I'm much more productive at a dedicated work space vs my own room.

Coworking spaces usually have cheap food, coffee and are a great way to meet new people (regular events etc).

</comment><comment><USER5> I was in a similar rut. I'm now in a co-working space. It isn't in any way a startup hub type environment, just a couple of freelancers and small businesses sharing space and resources, but it has made the world of difference to me.

I have people I get to chat to, have lunch with and most importantly of all, I get out of the house and go to work, then come home again at the end of the work day. I rarely switch my computer on at home anymore. It is a lot more healthy.

</comment><comment><USER6> What city are you in? What do you do? Lots of people see stuff on HN so you should at least post a short bio/resume :)

</comment><comment><USER7> I use my local hacker space (HackerDojo).

</comment><comment><USER8> You should change your job for a certain time. A job at office. Changes make you feel happy.

[http://hinscosafeandlock.com](http://hinscosafeandlock.com)</comment>


Gitter is open source - <AUTHOR> https://gitlab.com/gitlab-org/gitter/webapp/ <comment><USER2> I've really enjoyed Gitter as a better means of communications when I have questions that are small enough to not need their own issue, yet also not worth it to ask on SO or some other platform.

It has been nice to be able to have a nice way to talk with other open-source collaborators or get quick clarification on a small repo-specific question.

It's cool to see how it was put together.

Thanks for open sourcing this.

<comment><USER3> The biggest problem I have with something like this is that unlike SO the answers aren't archived for others who may have the same issue. It would be nice if discussions like this on Gitter could be archived and searched the way mailing lists are.

<comment><USER4> All public rooms are archived and searchable:

[https://gitter.im/gitterHQ/gitter/archives/all](https://gitter.im/gitterHQ/gitter/archives/all) [https://gitter.im/gitterHQ/gitter/archives/2017/06/14](https://gitter.im/gitterHQ/gitter/archives/2017/06/14)

I agree that chat isn't as digestible as SO, but it is definitely archived.

<comment><USER3> Right, I meant more in a Q&A fashion with perpendicular discussion like with SA. But I'm happy to see there is an archive. I've had decade old Mozilla bug reports save me more than once.

</comment></comment></comment></comment><comment><USER5> Gitter is a great idea in theory. In practice it's just been a place for my questions to go unanswered.

<comment><USER6> That doesn't sound like a Gitter issue but a lack of activity in that particular project/community.

Some projects prefer email/github issues over chat as there isn't an active community around it 24/7 for anyone to just jump in and ask away.

I maintain an open source project where we have set up Gitter awhile ago. So far -even with a really small community like ours- I'm answering questions and interacting with users regularly.

<comment><USER7> Totally not a gitter platform issue, but these platforms aren't really distinguishable from their user communities at the end of the day.

If Facebook only had 2-3 of your friends on it, no one would be impressed by the features and sophistication, they wouldn't get that far.

</comment></comment></comment><comment><USER8> While I applaud the initiative of Gitlab to opensource Gitter I think the target audience for self hosting is rather small. I think alternatives like Zulip or Mattermost are probably better suited for most organizations.

I am however interested to see if the community starts making the "main instance" (gitter.im) better.

Interested to know what the Gitlab / Gitter guys and gals think what the target audience is.

<comment><USER9> Maybe something like GNU social. They already use Gitlab CE for the repos. Add gitter and we have replaced IRC.

<comment><USER10> You say that as if it's a good thing...

<comment><USER9> IRC is not going anywhere but projects like neovim use gitter primarily while IRC is linked using a bot. They view the IRC chat in gitter.

Dunno if Gitter is better than IRC as I have only used for help and support (for me) but Gitter was far easier to use than IRC. Just Login and start chatting.

I don't think IRC is going anywhere either... We just have alternatives to freenode now in Gitter

<comment><USER11> Apropos, does anyone know of a hosting provider with one-click installs of Weechat? It would be nice to have something slightly more self-hosted than irccloud to recommend to the GsoC/GCI students who keep disconnecting from freenode :)

(You'd think with all the Wordpress one-click-installs that this would exists, but I can't find any yet at least.)

<comment><USER12> I'd suggest using Riot.

See [https://opensource.com/article/17/5/introducing-riot- IRC](https://opensource.com/article/17/5/introducing-riot-IRC), [https://about.riot.im/](https://about.riot.im/) and [https://matrix.org/](https://matrix.org/).

</comment></comment></comment></comment></comment></comment><comment><USER13> Asking users to run mongo, es, neo4j, and redis is a tall order. Mattermost just needs (AFAIK) a relational database.

Also, less relevant but the Gitlab UI has far too much wasted whitespace. Like 85% of the page is navigation. I like open source competitors to incumbents but maybe just copy Github here - no one is gonna say anything.

<comment><USER4> Hi, co-founder of Gitter here.

Gitter is not intended to be a replacement for Mattermost, Slack or other team collaboration tools. We see Gitter as a community instead.

As such, we're not expecting to see a huge uptake of on-site installations, so the list of required services (es, neo etc) is big compared to other products focused on on-prem.

We're hoping that our users will contribute to the main site, Gitter.im.

Obviously, we're also totally happy with users running their own Gitter installations but, while we would like it to be easy, ease-of-installation of a production instance is not a goal currently.

<comment><USER14> > we would like it to be easy, ease-of-installation of a production instance > is not a goal currently.

ok but doesn't it behoove you anyway to have e.g. dockerfile and/or ansible roles for dev/staging environments?

<comment><USER15> They probably do have some sort of automation, but it's likely specific to their environment.

<comment><USER4> We use Ansible / packer & terraform. Open sourcing this repo will be fairly complicated but it may make more sense for us to publish a k8s helm chart or more complete, production-ready docker-compose.yml

<comment><USER16> you are already using docker-compose.yml. you should use definitely do a production ready docker swarm deployment. you only will need to do incremental changes to your docker-compose

</comment></comment></comment></comment></comment></comment><comment><USER17> Awful timing for this sort of announcement -- the same day they programmed a one-hour downtime for a deploy.

<comment><USER18> As mentioned further down this thread, it was not officially announced, just discovered.

</comment></comment><comment><USER19> As an aside, I badly miss the Github language statistics in gitlab repositories. This is one of the crucial info for any developer browsing through new repos and it is very counter-intuitive to have this info hidden from homepage.

<comment><USER20> See [https://gitlab.com/gitlab- org/gitter/webapp/graphs/master/ch...](https://gitlab.com/gitlab- org/gitter/webapp/graphs/master/charts)

I agree it's not very prominent. (GitLab Inc. developer)

<comment><USER21> Would it be possible to use a bar chart instead. Pie charts are kind of a pain.

</comment></comment></comment><comment><USER22> Page should tell at first glance what gitter DOES.

<comment><USER23> Great point. We "soft launched" this yesterday so are still working on the documentation and hadn't made any official announcement yet until we've ironed out in any kinks.

Looks like HN announced it for us...

<comment><AUTHOR> Blame reddit rather, that's where I saw it and only then posted here. [https://www.reddit.com/r/programming/comments/6l2jjj/gitter_...](https://www.reddit.com/r/programming/comments/6l2jjj/gitter_is_open_source/)

<comment><USER24> s/blame/thank/g

</comment></comment></comment></comment><comment><USER25> If you go through the commit history you can see that they removed a lot of secret keys from the repo.

What if the main reason why people don't want to opensource their project is because they don't know how to use their secret keys without including them in the repo ?

<comment><USER4> Andrew, co-founder of Gitter here.

Removing secrets was a lot of work - more than I expected - while we open- sourced the product.

I agree with your sentiment though. Handling secrets in a codebase is not something that it currently easy or standardised.

As an aside, BFG Repo Cleaner really helped a lot with cleaning things up: [https://rtyley.github.io/bfg-repo-cleaner/](https://rtyley.github.io/bfg- repo-cleaner/)

<comment><USER10> It's been my impression that the standard (promoted by services like Heroku and Travis) is to pass secrets as environment variables.

<comment><USER4> Fair enough: this is exactly what we've moved to on Gitter on Gitter since open-sourcing the product.

</comment></comment></comment></comment><comment><USER26> I just wish I had time to work in my side-project [http://git.chat](http://git.chat) and investigate the ability to implement chat-like functionalities into the git-repo/protocol itself.

I really think any kind of discussions related to open-sourced projects should be stored together with it rather than a 3rd party in a closed environment.

<comment><USER27> Start small: a CLI chat client, no auth (auth is the ability to push to the remote), install a fetch hook to notify user of unread chat msgs, done. At that point anyone can use it.

</comment></comment><comment><USER27> > Whilst drinking your tea, make sure you have Gulp installed. You can do this > with npm install -g gulp. You may need to use sudo for this.

How blind can you be not to understand how evil this request is to your users? And you request this because... because you don't want to `sed 's|gulp |node_modules/.bin/gulp|g' Makefile` ?

Similarly, too hard to check npm's version in Makefile, and run or not run `linklocal` yourselves?

<comment><USER28> Would you mind elaborating? As a user who would follow this instruction without thinking twice I'd like to understand better why this is a bad idea.

<comment><USER27> Two others touched on the sudo part but the global flag is as bad. So they have a gulp file that works with gulp "v1". Gitter goes bust (inactive), next year gulp is bumped to "v2", you want to try out gitter, gulp fails, you have to digg why. Another scenario is when another project asks you do the same, install gulp globally, but it actually means gulp "v0". Now you can't run to projects side by side.

Global deps should be versioned, the same way you do not see a respectable npm module with "*" semver in its package.json.

Seeing things like this in 2017 from smth like gitter! now owned by gitlab! is just a big red warning "amateur work, please look away".

How can you have a Makefile, a Makefile! and still require gulp, and still require people to run "npm install"? How? Where's the bare minimum logic?

<comment><USER23> As Gitter was originally built as closed source with a team of people working exclusively on Gitter, this has never really been a problem for us.

This is very much v1 of the setup/instructions and would be delighted to improve them with any MRs or contributions. We'll certainly improve them ourselves over time as we get more people in less controlled environments adopting the project.

</comment></comment></comment></comment><comment><USER29> Huh, they seem to be using Marionette for most of the UI apart from using React for "topics UI"

<comment><USER23> We started Gitter before React was A Thing and Marionette had a lot of the functionality we needed. We even hacked it to do server-side pre-rending and live collection binding. Topics was an experiment in how we could look to move towards react and evaluate blending technologies.

</comment></comment><comment><USER30> Will the Android app be open sourced as well?

Btw on my phone the notifications are never cleared, always showing a super old message from hundreds of days ago for me. It's annoying because I cannot see why I got the notification. I wonder if this is already in your bug tracker.

<comment><USER31> In the original blog post announcing the Gitlab acquisition ([http://blog.gitter.im/2017/03/15/gitter-gitlab- acquisition/](http://blog.gitter.im/2017/03/15/gitter-gitlab-acquisition/)), there's mention of open sourcing the mobile apps -- "Next piece of wow: we will be open sourcing all of the Gitter. That's right, the web application, the mobile apps, the whole nine yards, free and open."

</comment></comment><comment><USER32> Hey, what do you use neo4j for? I am interested in your use case as I have recently started using it also.

Thanks!

<comment><USER4> Gitter co-founder here: we use neo4j for suggesting rooms.

So, if you're in room A and room B, and most people in those two rooms are also in room C, then we suggest that you join room C.

As I mentioned elsewhere, we also use some non-neo4j based methods for suggestions (including your GitHub graph). One of the problems we've had with neo4j is that we haven't been able to make it scale. It frequently burns up from being overloaded.

This is almost certainly down to the way we use neo4j but at some point I'd like to ditch it for a clustered suggestion algo that uses batch processes to cluster rooms together.

<comment><USER33> Sounds like you're going to be doing a lot of writes, which neo4j isn't designed for. While I get why you're using it, I'd suggest that it's not really the right tool for that job, which is possibly why you're having problems with it.

Do you really need persistance at all? If the application crashes everyone would be kicked out of the channels anyway no? I think making an in memory graph and ditching the graph DB entirely would be more helpful for that kind of suggestion tool.

<comment><USER4> We update on a batch[1] fairly infrequently (daily iirc). We don't need exact room membership since the results are aggregated.

> If the application crashes everyone would be kicked out of the channels > anyway no

No, Gitter's room membership is persistent (between restarts, crashes and sessions)

1: [https://gitlab.com/gitlab- org/gitter/webapp/blob/master/scri...](https://gitlab.com/gitlab- org/gitter/webapp/blob/master/scripts/graphs/upload-graph.js)

</comment></comment></comment></comment><comment><USER34> I hope they'd finally make the search usable. Searching for things in Gitter godawful.

</comment><comment><USER35> I absolutely LOVE gitter and am floored and enthralled to hear this news. Congrats team!

<comment><USER4> Glad to hear and thank you very much!

</comment></comment><comment><USER36> Gitlab UI is truly horrid compared to Github. When I go to a repository page on Gitlab, the navigation and whitespace takes around 80% of my screen. On Github I can immediately see the directory structure.

Also the colour scheme is bad IMO, everything is a light shade of grey, hard to quickly navigate the page as things look all the same while scrolling. Try using some darker shades and more contrast to make different parts of the page more easily distinguished.

<comment><USER23> We're actually completely overhauling the GitLab's UI [https://gitlab.com/gitlab-org/gitlab- ce/issues/32794](https://gitlab.com/gitlab-org/gitlab-ce/issues/32794)

<comment><USER37> That looks AMAZING. Maybe even better than GitHub. Great job, can't wait for this!!!

</comment></comment></comment><comment><USER38> Gitter is what IRC with fellow developers used to be like. Thanks for recreating that wonderful experience!

</comment><comment><USER39> Is there any option on GitLab to see instantly in what language a repo is written? (Like GitHub does)

<comment><USER4> From the project page, choose Repository | Charts.

Beware though, it's pretty slow right now.

It might be quicker to just look at a screenshot of it instead [http://imgur.com/a/qBGVf](http://imgur.com/a/qBGVf)

For reference:

       JavaScript 86.45 %
       CSS 6.79 %
       HTML 4.79 %
       Shell 1.07 %
       Lua 0.82 %
       Makefile 0.05 %
       Groovy 0.03 %
       Python 0.01 %

</comment></comment><comment><USER40> Didn't knew gitlab built gitter.

<comment><USER41> They didn't build it. They purchased it and announced it would be open sourced a couple of months ago.

<comment><USER42> Thanks for the news ;)

</comment></comment></comment><comment><USER43> That'll be helpful.

</comment><comment><USER44> GitLab, a startup that provides open source and premium source code repository software that people use to collaborate on software, is announcing today that it has acquired Gitter, a startup that provides chat rooms that are attached to repositories of code so that collaborators can exchange messages. Terms of the deal weren't disclosed.

<comment><USER45> They announced the acquisition in March¹. Back then they also announced that gitter would be open source so now they released it.

1\. [https://about.gitlab.com/2017/03/15/gitter- acquisition/](https://about.gitlab.com/2017/03/15/gitter-acquisition/)

</comment></comment><comment><USER46> > Gitter requires MongoDB, Redis, ElasticSearch and Neo4J

Why use one database when you can use four!

<comment><USER47> Do you think they should store account data in redis?

Or maybe they should use the ever-so-performant MongoDB as their cache, that'll work out great.

Actually, scratch that, Gitter should probably store all its relational data in ElasticSearch because _why use one database when you can use four?_.</comment></comment>


Don't let Google take over Berlin - <AUTHOR> https://fuckoffgoogle.de/ <comment><USER2> recent discussion of a guardian article covering this (175 comments): [https://news.ycombinator.com/item?id=17027834](https://news.ycombinator.com/item?id=17027834)

</comment><comment><USER3> Just like people repeatedly breaking the windows of a coffee shop nearby because the owners are "bankers from London" (this was stated as the #1 selling point for boycot in a flyer) this entire movement exposes the worst Kreuzberg has to offer: an incredibly self-righteous xenophobia.

People think they are so incredibly open minded when they are pro refugees, but as soon as it's the "wrong kind of Ausländer" (the one where it's not possible to impose moral standards as easily as it's not possible to exploit their need for protection anymore) it's all evil all of a sudden.

People will need to realize that they will need to be welcoming to either everyone or noone, everything else is just bigotry. Let's be welcoming to everyone I would propose.

<comment><USER4> That's not what they're saying. They don't want Google specifically, for reasons they detail in-depth on their website. Being welcoming to everyone doesn't really work, or otherwise we wouldn't have prisons.

Being open-minded is a two way street, remember.

<comment><USER3> I don't know if you live in the area (I only work there), but this is a recurring pattern that has happened quite a few times over the last years, not only to Google. Everything that is a. wealthy and b. from abroad will receive instant hatred. I talked to a few of these people and unfortunately it's only a very short way to conspiracy theories and open antisemitism surfacing.

If you show up being German and wealthy, treatment will be way different unfortunately.

<comment><USER5> > If you show up being German and wealthy, treatment will be way different > unfortunately.

Try being wealthy while Swabian in Berlin.

<comment><USER3> They might hate you for the money, but you won't be dragged into the depths of paranoid conspiracy theories about "wall street" taking over. Which, to me, makes a huge difference.

</comment></comment></comment></comment></comment><comment><USER6> The rents in Kreuzberg already increased a lot this past decade: [https://guthmann-estate.com/marketreport/micro-market- report...](https://guthmann-estate.com/marketreport/micro-market-reports- berlin/kreuzberg/)

Gentrification is a problem, but long time renters in Germany are really having it good. An example of how does the system works here: I pay twice as much as some German friends living in my district because my parents didn't sign me up in a union 20 years ago. I'm OK with that, it's the game, but refusing new buildings/companies to keep the rents low is BS.

Kreuzberg is very well located, Berlin is huge, time to accept that 1989 was a long time ago.

<comment><USER7> I don't understand this new mentality that "Gentrification is a problem," companies and wealthier people moving in makes everyone in the area more wealthy. The problem of affordable housing has less to do with those companies moving in and more to do with local real estate monopolies that lobby against rezoning for residential and expanding building permits. That's basically the bay area in a nutshell. People complain about the lack of affordable housing, yet building new residential areas is a tapestry of red tape. And let's face it, that's largely to protect real estate investors that don't want prices to come down.

I would like to see bigger companies that move new offices to areas to use their weight to push for more housing developments and permits as part of their local agreements. I think that would go a long way (though still short) in helping the situation.

<comment><USER8> Because Germany used to be different; if you had a long-term contract from 90s that e.g. stated your rent was 300 EUR/month, there was very limited room for any increases (basically only when your house went through some kind of renovation or the energy etc. costs rose significantly). So somebody who lives long-term in that neighborhood pays e.g. 400 EUR/month, whereas new tenants pay 1500EUR/month for the same. It's pretty normal in the US to see these kinds of yearly increases, but not in EU outside UK and EEU.

<comment><USER9> Most Finnish rent contracts have a clause that allows the renter to adjust (i.e. increase) the rent yearly by a given percentage (usually according to a cost of living index).

</comment></comment></comment></comment><comment><USER10> If you kicked out every company that's done anything unethical or amoral, you'd have no companies left. If Berliners really want to shoot themselves in the foot like this then Google can take its operations elsewhere at no loss while the locals are out better paying tech jobs and a market signal that would invite more tech companies and startups to the area. I'm glad I don't live in Berlin right now.

<comment><USER11> I think you are overestimating the IT market's talent abundance right now.

There are many people trying to get good programming wages and that doesn't make them good programmers.

IMO Google -- and any other corp -- has a lot to lose if they close an office. Real talent doesn't just exist everywhere you go.

I am not supporting or attacking the website, just clarifying the above point.

<comment><USER10> > Real talent doesn't just exist everywhere you go.

Colleges outside cities, like the one I went to, are brimming with compsci students that are then forced to move when they graduate, like I was. I'm sure if companies set up locations in such areas, they'd be able to tap into a decent amount of people like me who'd take a moderate pay cut to be able to live and work in a less dense region - not just the graduates I mentioned, but people who'd moved away from their home town and now could move back, or at least to somewhere more resembling it.

<comment><USER11> I don't disagree but it seems to be a bit like the chicken and the egg problem: companies would love to tap on that talent but most business developers want hard evidence that the investment will repay itself, and for that to happen somebody has to actually try. It becomes a mutual deadlock.

Furthermore, emphasizing on hiring graduates isn't a very sustainable strategy; many startups prey on the naivete and energy of young people and their hiring strategy usually revolves around draining a wave of young people of their creativity and energy, fire them when they realize what's going and then hire the next wave of naive and energetic youngsters.

Many companies do that, not only startups. But for that model to work they need a big hiring pool. Not sure if rural-like areas have the volume of candidates for that hiring model to be sustainable.

</comment></comment></comment></comment><comment><USER12> Pretty immature website, I get why people are against Google and specifically this campus but this website rubs me the wrong way. If they made the same arguments, cleaned up the language and delivery and cited it with studies, papers and facts it would be a much more credible site. They should probably change the domain name as well.

<comment><USER13> The lack of numbers and clear facts in there are very telling. I'm always wary when significant claims are made but no numbers or studies are cited to support them. In this case it's just about feelings; believing something like a sort of religion.

I'm not saying all of their claims are outright wrong, but this borderline childish website did not persuade me of anything - if anything I have some antipathy against this movement now.

<comment><USER14> > borderline childish website

It's fully childish, it's called "Fuck off Google" and the call to action button is "WTF?", and it's promoting tagging graffiti on stores/public places with ugly slogans and calling it "street art": [https://fuckoffgoogle.de/2018/04/17/street-art-against- googl...](https://fuckoffgoogle.de/2018/04/17/street-art-against-google/)

</comment></comment></comment><comment><USER15> There is some blatantly false information on this page.

> Google was caught red-handed participating in NSA's illegall surveillance of > almost everyone

PRISM was infiltration. The wiki also calls out Apple in this event, who are known to proactively limit surveillance. Many of the arguments also suffer from severely flawed logic, especially where the actions of others are held against Google.

There is some truth here, but it is far outweighed by false information.

<comment><USER16> >PRISM was infiltration.

According to the leaked documents, the companies were "partners". Of course the companies denied it, what else did you expect?

>Government officials and the document itself made clear that the NSA regarded the identities of its private partners as PRISM's most sensitive secret, fearing that the companies would withdraw from the program if exposed. "98 percent of PRISM production is based on Yahoo, Google and Microsoft; we need to make sure we don't harm these sources," the briefing's author wrote in his speaker's notes.

[https://www.washingtonpost.com/investigations/us- intelligenc...](https://www.washingtonpost.com/investigations/us-intelligence- mining-data-from-nine-us-internet-companies-in-broad-secret- program/2013/06/06/3a0c0da8-cebf-11e2-8845-d970ccb04497_story.html)

<comment><USER15> > the companies were "partners"

Except for the slide where the Google inflitration is documented?[1]

> we need to make sure we don't harm these sources

A "source" in intelligence does not not necessarily imply complicitness, an "asset" does.

[1]: [https://i.kinja-img.com/gawker-media/image/upload/s-- Edu6LPu...](https://i.kinja-img.com/gawker-media/image/upload/s-- Edu6LPu9--/c_scale,f_auto,fl_progressive,q_80,w_800/194thbtyencs0jpg.jpg)

</comment></comment></comment><comment><USER17> Poorly represented information (lack of links to proper sources, and use of profane language), but there is content worth discussing about.

Would Google's entry to Berlin trigger a rise of inequality for the city's inhabitants and make life difficult for everyone that is not working for Google? (for example private Google buses for their employees in San Francisco)

Also a company that is morally a bad one in the public eye, with all the data collection, appearance in NSA revelation, is not something that the citizens of a city would NOT protest...

<comment><USER5> Not sure Berlin and the Bay Area are comparable.

Berlin has working public transit (for some definition of working, much better than Caltrain and BART though).

San Francisco has 700k inhabitants, Berlin has 3.5m inhabitants (half as many as the entire Bay Area, but much more cohesive).

</comment></comment><comment><USER18> I'm from Munich where Google opened their first engineering office in Germany and continuously expanded their presence ever since. I don't see that Munich and the area were transformed by this as described here. However, Munich is a very different city than Berlin. I can see why it might be tempting for a big tech company to open an office or campus in Kreuzberg, because it represents a certain style, but personally, I don't think the area is ready for this yet.

<comment><USER19> I would see Munich as very expensive already. The Berliners are probably afraid of this happening to them.

</comment></comment><comment><USER20> I think the author is correct in thinking that Google will cause him discomfort by creating this campus. Everyone in this area not employed by Google will have to move because Google is basically buying the land, directly or through its employees.

Some of Google's money will flow to locals not directly employed by Google, but will this offset the increased cost of their living expenses?

<comment><USER21> > Everyone in this area

Everyone in this area should have bought the flats they live in, or should have signed long term leases with inflation-pegged rent adjustments.

Other than that it's simply people trying to tell someone to not eat their cake, because they want it.

<comment><USER20> Well, I think I can make a simpler argument. Google will change this neighbourhood. The culture will change, the cost of things, not just rent, will increase. Assuming that the author is very happy with how his neighbourhood currently is, I can see how he doesn't want Google's change.

I think that, if the majority of the people in the area side with the author, there is an argument to be made to, through political means, block bringers of gentrifications such as Google from entering this area.

<comment><USER21> I'm all for self-determination of individuals and groups. And the delicate quest for the balance between those.

If the majority wants Google out, I want them to be able to do that. Currently, that decision is very likely not up to them.

> The boroughs of Berlin are not independent municipalities; the borough > governments' power is limited, and subordinate to the Berlin Senate.

And even if it were up to the district/borough, there are 270+ thousand people there. They should hold a referendum, and let's hope for a high brow campaign.

Also, singling out Google is easy, and important. It's a milestone. It means that gentrification is already - very likely - going to continue to happen with full force there. Google picked the place because it's full of "talent", small startups, "cool places/parties", etc.

</comment></comment></comment></comment><comment><USER22> That's a nice Material Design on that page that's saying Google _is_ Evil!

<comment><USER23> It's a reasonably sleek Wordpress theme [1], but pretty far off from Material Design proper [2].

The animation while clicking links/buttons typically gives away if something was designed to implement Material Design or not.

[https://extendthemes.com/mesmerize/](https://extendthemes.com/mesmerize/)

[https://material.io/design/introduction/](https://material.io/design/introduction/)

</comment></comment><comment><USER24> I actually like Google. Facebook, Microsoft, and Apple are way worse.

</comment><comment><USER25> To be honest their argument is sound: the business model of google is to transform grey matter or brain power into money. And that is the ultimate business model.

</comment><comment><USER26> You got the NSA stuff Right and that should suffice. People tend to forget so easily...geee. Will we see a global awakening against Google soon?

</comment><comment><USER27> Def time for Google/Amazon/Facebook to have some real competition in Europe.

Can't let the Chinese do all the work.

<comment><USER8> There was this company, how it was called, erm, ah I know: Nokia. It was the dominant force in fastest growing industry. For some reason they decided to become a headless chicken for some US corp, who knows why?

That's the short version of any EU-based competition to US companies in software. Dreams don't correspond to reality.

</comment></comment><comment><USER28> I don't have a dog in this race, so I'm not interested in the premise, but that favicon is great. Also, it's refreshing to see that standard startup site template used for 'why fuck google'.

</comment><comment><USER29> > Instead of a nice friendly "campus" we see a Google farm for harvesting > Kreuzberg's brains and talents, or a Google mine in which ideas and data > will be extracted out of Berlin

It's simply not a zero sum game. Google will bring culture and resources with it that could enhance Berlin.

<comment><USER30> That's up to the people of Berlin to decide, not a faceless American tech company.

<comment><USER31> Is that actually even true? Google already has an office in Berlin. They can just buy more buildings.

Even if some local politician decides to block a construction plan, I'm not sure how they would stop Google from just buying existing stuff nearby their old office like Amazon does.

Google in Manhattan bought a building the size of an entire block essentially. It isn't even what I would call a campus there either.

<comment><USER30> Berlin's council can prevent additional real estate acquisitions by Google. They're already taking measures to keep housing affordable with government intervention.

Germany is not broken how America is, so it's easier to put people ahead of corporations there.

</comment></comment></comment></comment><comment><USER32> I'm sure you can make an argument against gentrification without making it look like some anarchist bs

<comment><USER33> I'm not really sure you can. :(

</comment></comment><comment><USER34> Why people are afraid of dystopian future? Enjoy it!</comment>


Any Hackers in the San Antonio, TX area? - <AUTHOR>

I have been running my web app company for seven years now and am loving it.  However, being a solo founder, I sometimes feel isolated from other hackers, especially since I'm not in the Silcon Valley area.  Sometimes, I feel there's nobody I can talk to who understands the challenges I face (PG is right, having a co-founder would have been a huge plus)<p>I'm wondering are there any other Hacker News readers out there in or near the San Antonio area?  Maybe we can arrange an offline get together. <comment><USER2> I don't really know what's happening in San Antonio, but Austin has a lot of us I think. :) The two cities are nice and close, I've seen regional engineering events before.</comment>


The Emotions That Make Us More Creative - <AUTHOR> https://hbr.org/2015/08/the-emotions-that-make-us-more-creative

<comment><USER2> "Creativity is just connecting things. When you ask creative people how they did something, they feel a little guilty because they didn't really do it, they just saw something. It seemed obvious to them after a while. That's because they were able to connect experiences they've had and synthesize new things." Steve Jobs

Connecting experiences, both positive and negative, and not losing the enthusiasm in the process is key to creativity.

<comment><USER3> Well...no hard and fast rules here. Look at Van Gough. He saw and did what everyone else did. Then went off and did what no one else had done. Makes one wonder what effect the environment at Apple or the Googleplex has on a mind like that.

</comment></comment><comment><USER4> Ambivalence is right, you need to be bored, happy, and sad to be creative: [https://news.ycombinator.com/item?id=8916132](https://news.ycombinator.com/item?id=8916132)

</comment><comment> bro-stick It seems to make common-sense from life experience that fear of imminent death and positive, unburdened, playful states of mind are both highly motivating in different ways. And to some degree, I think struggling with limited resources is often a contributing motivator that is often extinguished with over- resourced situations. This is of course partially orthogonal to individual personality, work style and other motivations. For me, getting away from most stimuli and not having a particular goal or timeframe leads to the most productive idea generation state; that is, when one lets their mind wander and play with ideas. Other people go to places like bric-à-brac stores, flip through catalogues, surf the web or seek more stimuli for inspiration.

</comment><comment><USER5> Ugh. Another dumb article that views human beings as a machine which can be manipulated by changing the inputs.

Hundereds of years of psychology/philosophy have given humanity nothing except dumb shit like this. Man is still violent, lonely, desperate, scared. Mankind is still an enigma that it was thousands of years ago.

Time to defund this garbage.</comment>


Show HN: A mobile artist resource site built on Meteor - <AUTHOR> http://source.pixite.co/

<comment><USER2> At Pixite we've been working hard for the past few months on a resource for our mobile artist community. This was our first time shipping something with Meteor, we primarily make iPhone apps. There have been a few issues but overall its been a great development experience. A good portion of the Meteor app is embedded in our iOS apps, which gives us the ability to make immediate updates to content and certain features without the dreaded Apple approval cycle.

Let me know if you have any questions about Source or the development experience with Meteor.</comment>


What motivates the authors of the software you use? - <AUTHOR> https://drewdevault.com/2016/09/09/What-motivates-the-authors-of-the-software-you-use.html <comment><AUTHOR> Waiting at the airport and thought to write a blog post after participating in this thread: [https://news.ycombinator.com/item?id=12463720](https://news.ycombinator.com/item?id=12463720)</comment>


Emerging seo platforms - <AUTHOR> http://www.websitemagazine.com/content/blogs/posts/pages/emerging-seo-platforms.aspx

<comment><USER2> Seriously, did anyone look at the BruteForce EVO website?</comment>


Omnitracs Resolves ELD Disruption That Had Drivers Reverting to Paper Logs - <AUTHOR> https://www.ttnews.com/articles/omnitracs-eld-disruption-prompts-drivers-use-paper-logs <comment><AUTHOR> My large trucking company is still on paper logs as of 11/9/19.

I saw a notice this morning that it had something to do with an 11/2 "gps rollover," but I don't know if that's a software rollover, an actual gps counter rollover, leaving daylight savings time, or what.</comment>


Light Seems to Pull Electrons Backward - <AUTHOR> https://physics.aps.org/articles/v12/88 <comment><USER2> When an ocean wave hits a beach, the swashing action pushes grains of sand up and pulls them down. The shape of the beach (as observable in any given moment) is steady relative to a number of waves and governed by cumulative averages of their features, but will change as the direction of waves, tide, current, etc. shifts over time. A beach with finer sand but similar wave action and angle will have a different incline from one with coarser sand or pebbles.

I am optimistic, as is the article, that further research into variations in metal, light, angle of incidence, and time will lead to a better understanding of the parameters of this backwards electron motion effect, of the nature of light and electromagnetic waves, and moreover, the substrate/matrix in which both are active, perhaps even of dark matter and a moving-zero mass.

</comment><comment><USER3> When light hits the metal, it imparts some momentum. Is it possible (and this is a stupendously naive mental picture and not what would actually be happening, I realize that) that the metal moves in one direction, kicking free electrons back the other direction? Like if you had a sheet of drywall covered in dust hanging from a rope and you threw a baseball at it. The drywall would move in the direction of the balls flight, but the dust would get kicked off back in the direction the ball came from. Is the amount of current created consistent with this sort of picture, electrons being kicked off as the metal absorbs the momentum and accelerates away?

</comment><comment><USER4> [https://arxiv.org/pdf/1812.01673.pdf](https://arxiv.org/pdf/1812.01673.pdf)

> The photon-drag effect, the rectified current in a medium induced by > conservation of momentum of absorbed or redirected light, is a unique probe > of the detailed mechanisms underlying radiation pressure. We revisit this > effect in gold, a canonical Drude metal. We discover that the signal for p- > polarized illumination in ambient air is affected in both sign and magnitude > by adsorbed molecules, opening previous measurements for reinterpretation. > Further, we show that the intrinsic sign of the photon-drag effect is > contrary to the prevailing intuitive model of direct momentum transfer to > free electrons.

</comment><comment><USER5> Doesn't light basically interact with atoms by changing electron energy levels?

<comment><USER6> Essentially the entire experience of existence on a human scale is exclusively photons and electrons interacting.

Photons are basically packets of momentum that atoms exchange.

<comment><USER7> > Photons are basically packets of momentum that atoms exchange.

Is the quantized nature of these packets caused by a limitation in the atoms and their ability to form photons, or is it a fundamental limitation of the photons themselves?

<comment><USER6> Fundamental behavior.

The energy of any photon is the Planck constant multiplied by the frequency. The frequency and energy aren't quantized and can be any value as long as they are proportional.

The energy of an electron in an atom isn't quite so simply expressed but is limited to discrete levels.

This is where emission/absorbsion lines come from or to simplify, color.

Electrons can only accept/emit specific amounts of energy and photons of a specific frequency have an exact energy therefore atoms can only absorb or emit very specific frequencies and all others are ignored.

</comment></comment></comment></comment><comment><USER8> I always thought that electrons and photons could be of the same energy in a way</comment>


Howfuckedismydatabase - <AUTHOR> http://howfuckedismydatabase.com/ <comment><USER2> <http://howfuckedismydatabase.com/nosql/>

Bob: So, how do I query the database?

Ed: It's not a database. It's a key-value store!

Bob: Ok, it's not a database. How do I query it?

Ed: You write a distributed map reduce function in Erlang!

Bob: Did you just tell me to go fuck myself?

Ed: I believe I did, Bob.

<comment><USER3> that is rather hilarious !

</comment></comment><comment><USER4>
      Warning: oci_connect(): ORA-$$$$: Insert coin to continue

Fantastic!

</comment><comment><USER5> This reminds me a story...

At my last job we used Postgres on a Windows server. Whoever initially set up the database pretty much stuck to the defaults.

Whenever we would read/write text to the db in code we were using functions that basically returned raw data. All of our text was encoding using UTF-8.

When using the Windows Postgres Admin tool to run a query that returned text, you'd occasionally see some weird characters (café), sometimes you wouldn't (café). Sometimes the query would fail due to invalid characters.

When I looked into it I quickly realized what was wrong - on Windows Postgres defaults to Win1252 encoding (which is a form of extended ascii). Normally when you are writing text to the database Postgres will convert the encoding but since we were writing raw bytes we skipped this part.

Win1252 contains some undisplayable characters which occasionally show up in a multi-byte UTF-8 character, explaining the failed queries. However it didn't explain why sometimes we got café and sometimes we got café.

It turned out that there were some scripts/apps that were reading file names on Windows and inserting them into the database without converting it to UTF-8. Windows uses UTF-16, although somewhere this was auto-magically being converted to Win1252.

This meant that our Win1252 encoded database contained both Win1252 text and UTF-8 text. I ended up doing a text dump of the database and writing a Perl script that would run through it all byte-by-byte and convert all characters above ascii 127 that were not part of valid UTF-8 sequences into UTF-8. This was then used to create a new database correctly encoded as UTF-8. It actually worked (although there were a few snags - we were getting some data from this service that would randomly include the sub character (ctrl-z) occasionally which would cause cat/split to stop running).

</comment><comment><USER6> I am a fairly large database nerd and this is epic. The comic on the NoSQL is priceless.

<comment><USER7> I first read your reply as "I am a large database and this is epic" :|

</comment></comment><comment><USER8> Gosh, this is silly! You don't even have Excel listed. Amateurs!

(The Oracle < $1m answer is a RIOT.)

<comment><USER9> See <http://howfuckedismydatabase.com/letters/>

_"After reviewing your site, I'm so glad we are sticking with emailed Excel spreadsheets for our mission critical database requirements."_

And:

 _"Databases? Fuck that. I use Excel's pivot tables."_

</comment></comment><comment><USER10> The Storray Engine didn't make the list. Guess I'm safe.

<http://thedailywtf.com/Articles/The_Storray_Engine.aspx>

<comment><USER11> Hahaha, I can answer how to convert that to .NET! I worked for a while as a web developer at a PR company. My predecessor had apparently heard of the Storray engine and converted it to .NET. He stored all the product information for one of our clients' sites in an XML file. Fortunately I only had to work on some CSS for that site, I would have been pretty distraught if I had to give up the awesome power of Storray for MSSQL.

</comment></comment><comment><USER12> There's the old joke about finding an SO. Attractive, intelligent, available: pick any two.

I recently realized that with programming languages, it's similar, but not quite the same. Runs fast, has libraries, isn't totally frikkin braindead: pick one, if you're lucky.

Just now I realized that much the same applies to databases.

<comment><USER13> It applies to much more than you'd expect. I've always heard it referred to as the golden triangle, in which the three best options are presented.

In IT services (or web design, or whatever, really), my first exposure to it was "Good, Fast, Cheap; Pick any two."

</comment></comment><comment><USER14> I would say the people who made this site are fucked. Google is only showing PSA ads.

<comment><USER15> What ads?

<comment><USER16> Google Adsense is showing public service advertisements (freebies[solar power|green stuff]) instead of database related ads in the footer. Be gone with your no-script browsers!

Either it is: intentional -> High five for charity. an accident -> He really missed out on the $2-$6 CPC of the glorious database keywords... especially without having a button to go back. This page has what, 144 pts? That usually rounds off to 10000+ page views from my perspective. 1429 tweets, so maybe toss in an extra 7000 or so. That's at least $51~ he could have raked in based on 17k views times $3 avg a mille. :(

<comment><USER17> He can't run adsense on his site without having everything revert to PSAs. Google automatically switches a page to PSAs if there are certain "trigger" words in the URL related to sex, violence, profanity, tragic events, etc. The fact that the word "fuck" is in the domain name makes 100% of his pages a target for this filter.

</comment></comment></comment></comment><comment><USER18> The mysql path ought to ask whether or not you're using Java, paying the 500$ license fee for the damned driver, and then remind you that you're extrafucked.

</comment><comment><USER19> Anyone else thought that the site will try SQL injection and stuff to tell you how vulnerable is your database?

</comment><comment><USER20> Could we stop pretending that "NoSQL" refers to a homogeneous set of technologies?

</comment><comment><USER21> That's pretty unbelievably awesome.

If anything, I wish it was more complex though.

</comment><comment><USER22> A dBase III option would be neat. They're still using that in certain places....

<comment><USER23> Oh gawd... I had to use it in high school, I've got B on that test. what a horrible thing it was

</comment></comment><comment><USER24> It probably should display informix as an option, but got a row lock error.

</comment><comment><USER4> Just realized there is not an option for FileMaker Pro.

</comment><comment><USER25> Rather you than me. Warning: mssql_connect(): Cannot open connection: Timeout expired. in /var/www/database/mssql/common.php on line 10

</comment><comment><USER26> I got "Massively fucked", dunno why...

<comment><USER27> wait for it, wait for it.

Microsoft JET Database Engine error '80004005' Table 'tblTable' is exclusively locked by user 'Admin' on machine 'MyMachine'.

Ahhh there it is..

</comment></comment><comment><USER28> This is great. Requesting Sybase!

<comment><USER29> You should come up with a joke about it ;P

</comment></comment><comment><USER23> I chose sqlite, one concurrent user and I. Had this:

Warning: sqlite_open(): file is encrypted or is not a database in /var/www/database/sqlite/common.php on line 10

</comment><comment><USER30> MSSQL with the nuke option:

<http://news.cnet.com/2100-1001-270351.html>

</comment><comment><USER31> No Excel? :-)

<comment><USER32> Nor text files.

</comment></comment><comment><USER33> No DB2?

<comment><USER34> People who use DB2 don't need to go to howfuckedismydatabase.com

<comment><USER35> Exactly. Its rock solid. Especially when coupled with the lovely IBM i operating system. I'm guessing few here have touched these systems, and the younger crowd might not have ever even heard of them.

<comment><USER36> True fact: The main reason we didn't include DB2, is indeed because none of us have any direct experience with it. All the other jokes were informed by hands-on experience.

<comment><USER37> I worked for IBM for a year a while back as a student, my predecessor had at one point worked on some obscure DB2 fixes. He regaled me once with a story of how when looking for the root cause of a bug, he found a comment saying something along the lines of:

// Quick hack, will fix properly soon!

It was dated sometime in the 80's.

<comment><USER34> At some point I interfaced with a DB2 product and some of the code was seriously 30 years old and had goto's as a best practice... really.

Really.

<comment><USER35> Yes, I believe it. I've come across the same. But, something to remember, that code was written 30 years ago, and its still running. And the best part, its could be 30 year old code running on the latest and greatest hardware. GoTo isn't the right way to do coding, but at one point in time it was all a programmer had. But it still works, like it or not (maintainable or not).

</comment></comment></comment></comment></comment></comment></comment><comment><USER38>
      Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: database "postgreserrors" does not exist in /var/www/database/postgres/common.php on line 10

<comment><USER39> That's the joke, dude...

Re OP: Ah, the joys of being a Sybase user, nobody even makes fun of us.</comment></comment>


A scientific study has established that there is no "gay gene" - <AUTHOR> https://www.economist.com/science-and-technology/2019/08/31/a-scientific-study-has-established-that-there-is-no-gay-gene <comment><USER2> I've never understood why we need to find a gene to explain people's gender sexual preference. No one looks for a gene to determine why some men like short women with big butts and other men like skinny women.

<comment><USER3> Why did we need to know what it's like to send a human to the moon?

This is science and science is asking questions about the reality we live in. That is there are a set of people who deviate from the norm in that they are interested in other people of the same sex. This also deviates from the theory of evolution in that natural selection would supposedly eliminated this trait eons ago, yet it is quite prevalent today.

It is worth asking this question and it is worth asking the question why some men like fat women and some men like skinny and what are the biological implications of it? Yes it is.

A bigger question is why in the world would you question this research into a gay gene over the billions of dollars spent on getting the man to the moon (with little economic results to show for it).

I think I have an answer. Because our society has become so politically correct and so afraid of racial inequality that ANYTHING even remotely suggesting things are unequal is attacked. The truth of the matter is, we are all unequal and we are all different. That is a reality that is staring us in our faces yet we choose to ignore it because we have become afraid of inequality under all circumstances. Life is unequal. And it is worth studying the differences. A counterpoint to your analogy: we study why men have penises and why women have vaginas, or in other words sexual dimorphisms... why not study sexual preference?

<comment><USER2> _Because our society has become so politically correct and so afraid of racial inequality that ANYTHING even remotely suggesting things are unequal is attacked._

It's just the opposite. People have been arguing that being gay "is not a choice" so society shouldn't discriminate against gay people just like they shouldn't discriminate against short people.

I'm saying that it shouldn't matter whether it is "a choice" or not. Just treat everyone equally. I'm also saying that they could find a whole bunch of gay genes and it wouldn't matter to religious conservatives who think it is a "sin". It wouldn't change their belief system. If they still "don't believe in" evolution and think the earth is only 7000 years old as well studied as evolution is, why do people think they will accept a gay gene and change such deeply held beliefs in how wrong it is?

Just like we ignored them and struck down laws against miscegenation. We should continue to ignore them and treat everyone equally regardless of sexual preference.

</comment></comment></comment><comment><USER4> If I remember the study correctly, the scientists actually stated that it is clear that there is not one single "gay gene", but that (like many other traits) instead there are likely a number of genes that work in concert to produce sexuality outcomes.

This title seems like unethical clickbait.

<comment><USER5> To paraphrase The Economist's own words, the headline might instead have been:

Human sexuality is a complex interplay of genes and environmental factors

</comment></comment><comment><USER6> Opinion Warning: I'm no scientist; this is just my opinion.

I know several people who are gay and what's very interesting is most of the people I know, is there are people in their family, sisters/brothers/uncles/etc. That are also homosexuals. I suspect there might not be "one gene" that makes a person a homosexual, but a collection of genes that increase the odds of someone being homosexual.

That being said, I feel like search for such a gene is to combat religious beliefs that homosexuality is wrong.

I'm still confused with why so many people are obsessed with the sexual orientation of another person?

I remember one time, I attended a meetup that was focused on LGBT startups. In the elevator, there were four people; two other men, a woman and me.

One guy who was apparently by himself and didn't read the agenda of the meetup asked the "couple" next to him how difficult it was to start a company and be in a relationship. The man replied "We're not a couple, I'm gay." then the women laughed and said, "I'm also gay, and this meetup is the LGBT community raising capital for their company."

The guy then turned to me and asked: "Are you also gay?" I replied: "No, but that headband you're wearing might be." Everyone but he laughed, and I thought that would ease the mood. This guy seemed very concerned about being a straight man in a gay meetup. I told him to relax and explained I was there to join a couple of friends who were speaking at the meetup.

I understand that some people feel uncomfortable being around people they are not used to being around; sexual orientation, race, income status, etc. They just haven't had that experience. Hopefully, that guy was able to feel more comfortable around none heterosexuals. They make _amazing_ wing men and women :)

<comment><USER7> You're right. No one should care who fucks who, when all parties are consenting. And it's completely irrelevant from ones ability to be awesome.

<comment><USER6> I agree - what I find terribly concerning in this day and age, we're not letting the actions of people to define a person. MLK talked about that and it's simply ignored. I guess it requires more energy to look at each person you meet and now they treat you vs. just saying "All gays are...", "all whites are...", "all blacks are...", "al women are..", "all men are..", etc..

¯\\_(ツ)_/¯

It all seems so childish and intellectually lazy. At least it gives people something to argue about endlessly on social media lol

</comment></comment></comment><comment> mark-r This seems self evident if you know anything about evolution. In order to pass on your genes you need to have relations with the opposite gender.

</comment><comment><USER8> Great, that means Conversion Therapy works then right?

<comment><USER6> Who said anything about "Conversion Therapy"? I'm lost to what this comment is in reference to?

<comment><USER9> The idea is that if your sexuality is not innate, then it can be changed. There's long been a desire to prove that homosexuality is genetic in order to counter the claim of bigots that they can turn people straight through shame and abuse.

It's frustrating on several levels. One, there is an element of the naturalistic fallacy; many people feel that homosexuality being "natural" (e.g. occurring in many animal species or being immutably determined by genes) is a strong defence of it (as opposed to the preferable argument of "it's not hurting you, so you have absolutely zero grounds to object to it"). Two, many people want to be able to point to a single gene as the causative factor, when genetics is rarely so simple, and other prenatal factors may contribute (e.g. something that happens during gestation).

<comment><USER10> Just because something is not determined by genes does not automatically mean it is not innate. Some traits are determined by hormones and there might be many other mechanisms that determine our physical and behavioral traits.

<comment><USER9> Yes, absolutely!

In particular there's evidence for: [https://en.wikipedia.org/wiki/Fraternal_birth_order_and_male...](https://en.wikipedia.org/wiki/Fraternal_birth_order_and_male_sexual_orientation)</comment></comment></comment></comment></comment>


The Morrell Airship Collapse - <AUTHOR> http://berkeleyplaques.org/e-plaque/morrell-airship/?cat=39 <comment><USER2> That's really long for what appears to be a non-rigid airship. The Navy class-N ships were about 400 feet long, and I had thought they were the largest non-rigids; this was thirty feet longer and forty years earlier.

</comment><comment><USER3> 1908 Popular Mechanics had 3 successive articles about it.

[https://todayinsci.com/Events/Aircraft/MorrellAirship- Collap...](https://todayinsci.com/Events/Aircraft/MorrellAirship-Collapse.htm)

The 2nd interviews Captain Penfold, an Australian balloon pilot that had sunk on-board.

</comment><comment><USER4> This refers to spacecraft. Is that an accepted term for airship?

<comment><USER5> Yeah, that's weird. "Morrell constructed a 450-foot spacecraft at the Morrell Airship Company on Market Street. The craft was designed to run by gasoline engines powering wooden propeller blades draped with oiled silk."

I supposed it's possible that was an accepted term in 1908, but this article was written in 2012, so I have to assume it was an error.

<comment><USER6> I'd taken that to be a commentary on the unusual shape and general uniqueness of the airship - especially for 1908.

</comment></comment></comment><comment><USER7> Serious nads on anyone willing to climb aboard this thing.

<comment><USER8> nads would have been a nice addition to that thing.</comment></comment>


I meditate so I can run a startup - <AUTHOR> https://medium.com/@simplehabit/i-meditate-so-i-can-run-a-startup-f803201554de#.3l7374gku <comment><USER2> I'm always interested to hear why people decide to start a business... especially more unconventional types of things. I'm a big fan of meditation in general and am actually a current Simple Habit user. Some mindfulness stuff gets a little too "new agey" for me, but this is more like a helpful tool.

</comment><comment><USER3> I've actually been using Simple Habit now for about 3 months. Cool to know the backstory. I started out on headspace, which I thought was pretty cool, but my morning uber ride isn't always 10 minutes...the 5 minute commute meditation is awesome (also the sleep one!) I'll try happiness one lol :)</comment>


Microsoft will donate 8 meals to the poor if you download IE - <AUTHOR> http://www.microsoft.com/Presspass/press/2009/jun09/06-10BetterBrowserPR.mspx

<comment><USER2> That was from june 10th until August 8th, 2009, so it's over.

Pity, if I would have known I would have fired up some wget threads.

Imagine google getting in on that, bankrupting a competitor _and_ solving world hunger in one go.

</comment><comment><USER3> Desperate much? Now I feel guilty that I didn't download IE8. 8 families starved because of my neglect. Curse you Microsoft!</comment>


Researchers see signature of "Majorana particles" inside superconducting iron - <AUTHOR> http://www.scientificamerican.com/article/majorana-particle-matter-and-antimatter/ <comment><USER2> It's an interesting result for solid-state physicists, but the title is very confusing to the layman. The finding is about quasi particles that have the same properties as a Majorana fermion (a Majorana bound state), due to how electrons behave in a superconductor ([https://en.wikipedia.org/wiki/Majorana_fermion#Majorana_boun...](https://en.wikipedia.org/wiki/Majorana_fermion#Majorana_bound_states)). They did not detect a Majorana fermion itself. This is satisfactorily explained in the article, but the title is sensationalist.

<comment><USER3> Trust me, your description is orders of magnitude more confusing to the layman.

<comment><USER4> Here's the layman's version:

Some particles are actual particles - like photons, electrons, protons, etc. Think of them as a droplet of water.

Some particles are not really particles, but kind of behave like a particle in some ways. Think of them as bubbles inside a liquid.

If you ignore the air inside, the bubbles don't really exist - they are just the absence of some liquid, that happens to look sort of like a particle with funky properties. Similarly, the particles described in this article don't really exist - they are "holes" in a lattice of other particles, that can mathematically be treated as if they were particles, but aren't actually real in a non-mathematical way.

That said, if Quantum Mechanics has taught us anything, it's that those "purely mathematical" concepts can have very real impacts on the world, so in a sense, it is exciting that these "pseudo-particles" have been found to exist, because the maths might reveal all sorts of funky shit we can do with them that would be impossible with regular particles, and the maths doesn't care that they're not regular particles - it works with either kind of particle.

<comment><USER5> Good try, and less confusing (or confusing on a much higher level) than some alternatives, but the use of the word "really" and the implication that bubbles (and therefore quasi-particles) "don't exist" in this description is problematic because it is false: bubbles and quasi-particles exist and are as "really real" as electrons and water-droplets.

Nothing but metaphysical confusion is added by asserting that some things "really exist" while other perfectly ordinary things--things that can be created, manipulated, and destroyed--somehow "don't really exist".

A less metaphysically loaded description would be:

The mathematics that Majorana worked out was intended to describe elementary particles, which as the name suggests can't be divided into their component parts. It turns out that inside a superconductor, the motion of groups of electrons, all moving together thanks to the special properties of superconductors, can be described by the same math. These groups of electrons can be considered entities in their own right, and are called "quasi- particles". They are perfectly real: they just aren't elementary.

Furthermore, for quasi-particles the atomic lattice of the superconductor acts in the same way as empty space does for elementary particles: it gives them a place to exist and has properties that allow them to move around and interact with each other. Majorana's equations describes how they do this, so they are mathematically equivalent to elementary Majorana particles moving around in empty space.

/End of metaphysical pedantry.

<comment><USER6> That isn't pedantry, that's a fantastic description. Thanks for posting it.

</comment></comment></comment></comment></comment><comment><USER7> (facepalm) Another day, another "popularized" article that confuses condensed- matter quasiparticles with real particles...

<comment><USER8> Honest question:

If what we think of as real particles are really just useful abstractions over a more complicated reality, but that underlying reality is basically the same thing mathetmatically that exists in condensed-matter, is there a significant difference? Where does the analogy break down?

<comment><USER9> From a theorists perspective there is not much difference, they are both modeled by Quantum Field Theories. However condensed matter theory deals mostly with non-relativistic phenomena. The idea of quasiparticles, like the one they have discovered is also present in particle physics, they are called "resonances". Depending on the energy scale you can integrate out the higher energy modes of your theory to get an effective theory, in which those resonances are now the "fundamental particles", examples include pions, Kaons etc. This is analogous to how you describe quasi-particles in condensed matter theory.

In contrast to condensed matter theory which is able to observe electrons on their own, the fundamental constituents in high energy particle physics have not all been observed on their own. So called quarks, the building blocks of protons and neutrons among other things, ordinarily never occur alone, due to something called confinement. This is analogous to how at low temperature in super conductors electrons appear as so called cooper pairs coupled by phonons, here quarks are in a "cosmic superconductor" coupled by gluons. One of the aims of the LHC experiment is to go to high enough energy to induce a phase transition to a quark gluon plasma, which would be analogous to the state electrons are normally in a metal.

So in conclusion, it's not a coincidence that both the renormalization group by wilson and the idea for the Higgs mechanism, which also has an analogue in the theory of high temperature superconductivity and was originally proposed by Anderson in the context of condensed matter theory, were discovered by theorists working in condensed matter theory.

</comment></comment></comment><comment><USER10> Here's the press announcement in 2012 of the preceeding work done in Delft: [http://www.tudelft.nl/en/current/latest- news/article/detail/...](http://www.tudelft.nl/en/current/latest- news/article/detail/nanowetenschappers-vinden-langgezocht-majorana-deeltje). And here's a link to the related paper on ArXiV: [http://arxiv.org/abs/1204.2792](http://arxiv.org/abs/1204.2792).

I know a few of the people working on the experimental setup within the Kavli Institute. Insanely complex setup! As an aerospace engineer, most of it goes well over my head, but it's interesting nonetheless!

</comment><comment><USER11> > As opposed to particles found in a vacuum, unattached to other matter, these > Majoranas are what's called "emergent particles." They emerge from the > collective properties of the surrounding matter and could not exist outside > the superconductor

Sounds a lot like some of the magnetic monopole announcements. It is always more of a situation than an actual thing.

</comment><comment><USER12> This article does demonstrate the principle that virtually every area of active research in material science, no matter how obscure, will one day have a Very Important Application in Quantum Computers. _sigh_

</comment><comment><USER13> Both matter and antimatter? You mean like the photon and, iirc, all the other neutrally charged elementary particles?

New quasi-particle is Majorana. :b

<comment><USER2> There is more to being antimatter than just having the opposite charge. The spin of the particle also matters. For a particle to be its own antiparticle, it would have to have spin 1/2\. All elementary fermions have that property, but not much else.

Of the 2 classes, fermions and bosons, only fermions can be their own antiparticles. Bosons are defined with having an integer spin, so they can never have spin 1/2\. Of the fermions, none are known with neutral charge except for neutrinos, and we're not sure if those are Majorana particles or not.

Photons, as you mention, are bosons, with spin 1, so they can't be their own antiparticle.

<comment><USER14> Photons are generally considered to be their own antiparticles: [http://van.physics.illinois.edu/qa/listing.php?id=27107](http://van.physics.illinois.edu/qa/listing.php?id=27107)

<comment><USER2> Photons are something of a special case because they are massless. Gravitons, too. As bosons, their interactions are not limited by the Pauli exclusion principle, so they can not annihilate each other. They interact through different means (electromagnetic). They're both because they only have the common properties of particles and their antiparticles.

It's basically like saying "the number 0 is its own negative number". It's correct according to some definitions, but not useful.

<comment><USER15> Physicist here. You are confusing things. Having rest mass or Pauli-exclusion principle has nothing to do with qualification of being an anti-particle.

Z boson, for instance, _does_ have mass and is its own anti-particle.

> It's basically like saying "the number 0 is its own negative number". It's > correct according to some definitions, but not useful.

Photons have zero _charge_ ; an anti-particle has negative of the particle's charge (and at the same time, same rest mass and spin).

<comment><USER2> Aha, thanks for the correction, I must have picked up some bad info somewhere. I'll do my research better next time.

</comment></comment></comment></comment></comment></comment><comment><USER16> Is this a marijuana joke?</comment>


Parsing C++ is literally undecidable (2013) - <AUTHOR> http://blog.reverberate.org/2013/08/parsing-c-is-literally-undecidable.html <comment><USER4> As someone who had spent quite some time developing C++ refactoring tools, here's the most concise example of the problem:

      void func()
      {
        a < b , c > d;
      }

If _a_ is a class template, the line in func() declares an instance of type "a<b, c>".

If _a_ is a global variable, it describes an invocation of the "<" and ">" operators for 4 different variables.

Maintaining a parse tree of this is a massive mess, especially if _func()_ is a template itself (and hence the meaning of _a_ would change based on the instantiation).

<comment><USER5> I have never written code to translate templates. Do you actually build a syntax tree for the template itself? I always assumed you would just store a simpler representation of the template (e.g., just a string of lexemes) and only build syntax trees when the template is instantiated.

Of course you still need to "parse" the template when it is encountered but you have to do it without semantic information (e.g., you don't know what `a` will expand to until instantiation) -- I guess that is the problem.

It is funny that Lisp's defmacro doesn't have this problem because the code itself is a syntax tree.

<comment><USER6> Either of your mentioned options for implementing template parsing were used by implementations when C++ was conceived (but before it became an ISO standard). Your "token string" approach is the route that Microsoft took with MSVC, whereas other compilers went with what later became standardized as "two phase lookup".

In short: Token stream alone is not enough. You need to decide whether T::A * b; is a pointer declaration or a multiplication immediately when you parse the template. If A is a dependent name (i.e. if T is a template parameter), it is assumed to be a variable (if that's not correct, the programmer must use typename or template).

MSVC has only recently completed their implementation of two-phase lookup, some twenty years after it was defined as the correct option in the ISO C++ standard. They have an excellent writeup here: [https://devblogs.microsoft.com/cppblog/two-phase-name- lookup...](https://devblogs.microsoft.com/cppblog/two-phase-name-lookup- support-comes-to-msvc/)

</comment></comment></comment><comment><USER7> Can we design a language (cpp-prime?) that is basically c++ but makes parsing easier? I'm thinking reduce the keyword reuse, use different symbols for multiplication and pointers etc. The code would be easy for c++ developers to read and converting between the two could be automatic. However, we would be able to build tooling for this new language much more easily. It would also compile quicker.

<comment><USER8> In theory that's D. D was designed to be easier to parse than C++, for example, it uses Foo!Bar and Foo!(Bar, 4) template syntax rather than Foo<Bar> and Foo<Bar, 4>. On the other hand, it still uses templates and supports mixins (basically #define on steroids), so while it's easy to parse, large chunks of code don't exist until compile time so can't be indexed by IDEs perfectly.

<comment><USER9> And as much as I like their community, I feel it already lost its spotlight opportunity, due to their lack of manpower vs other languages offerings and continuous improvements.

Even if C++ is a little baroque, C++17 and now C++20 provide many of the D's benefits, while keeping all the libraries, and finally we are getting Java like C++'s tooling to just throw it away.

<comment><USER10> > due to their lack of manpower vs other languages offerings and continuous > improvements

No. D failed due to a mandatory GC and the 'two standard libraries' idiocy.

<comment><USER9> Plenty of GC enabled system languages have proven their value, up to building full stack graphical workstations, so far they just lacked somg big corp political and monetary willingness to push them down the anti-GC devs no matter what.

Thanfully with the likes of Swift on iDevices, Java/Kotlin on Android (with an increasingly constrained NDK), COM/UWP über alles + .NET on Windows, ChromeOS + gVisor, Unreal + GCed C++, those devs will have a very tiny niche to contend with.

I give it about 10 years time, for pure manual memory management to be like Assembly and embedded development.

<comment><USER11> Building a GC into your system means building nondeterministic amounts of latency into it. Those "full stack graphical workstations" were notorious for being slow, expensive, and coming to a dead halt whenever the heap filled up.

Thankfully, we have RAII as in C++ and Rust and ARC in Swift, which give you automatic memory management without a tracing GC.

If your language requires a GC, it is a _complete failure_ as a systems programming language.

<comment><USER12> Well, GC latencies don't bother game developers who work with Unity or people using Java or C# for high speed trading.

Realistically, having the option to use a GC is a boon for many applications. Not everything is hard realtime all the time. Some complex applications tend to have a hard realtime part and parts where it doesn't matter. E.g. a CNC machine controller does not need a guaranteed response time for the HMI or G code parser. But it needs to have a tight control loop for the tool movement.

D is a language where the GC is default, but optional. And the compiler can give you a guarantee that code that explicitly opts out does not interact with the GC and -importantly - can't trigger a GC run that way. However, as this was an afterthought, parts of the language need to be disabled when opting out and not a lot of library functionality works with that.

<comment><USER13> GC latencies doesn't bother them, because they put large efforts into ensuring there is not garbage to collect. Tricks normally reserved for hard real time embedded systems like allocating all memory buffers at startup time.

GC is very useful for programs that don't have any form of real time - <USER2> games are real time and thus you need to be careful to ensure that the worst case of the garbage collector doesn't harm you. Reference counted garbage collection gives you this easier than the other means. Note that I said worst case - the average case of garbage collection is better in most garbage collected languages.

<comment><USER12> I have never seen such memory mamagement tricks employed in Unity scripts. I'm not saying that they don't exist. They are only rarely required. To be honest, I expected things to be much worse from previous experiences.

<comment><USER13> There are of course a large number of it depends. Sometimes there isn't a problem sometimes there is.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Why shouldn't C++ templates be Turing-complete? Template metaprogramming is a great strength of C++. The language is gross but the result is quite powerful.

<comment><USER15> I don't think it was designed to be Turing-complete, so it's a lot more annoying than it could be when you try to use it this way.

<comment><USER13> The early template designers specified a limit of template recursion (16 IIRC) which they thought was more than deep enough for any real use, and would ensure that it wasn't Turing complete (truing complete of course requires no limit to template recursion depth). However soon after people started finding deeper template recursion depths were required for the real problems they wanted to solve.

</comment></comment></comment><comment><USER16> This is why the tools situation in c++ had been so far behind other languages like Java. You have to build a full frontend to even parse the language.

They're slowly becoming available via clang now, which is nice.

<comment><USER17> I wonder if it's possible to craft a non-gigantic C++ file which causes a clang frontend to crash.

<comment><USER18> This is possible in almost all language, even Python (!!!) - see the Stack Overflow question [https://codegolf.stackexchange.com/questions/69189/build- a-c...](https://codegolf.stackexchange.com/questions/69189/build-a-compiler- bomb)

</comment></comment></comment><comment><USER19> Maybe interesting for people here is also the undecidability of parsing Perl: [http://www.jeffreykegler.com/Home/perl-and- undecidability](http://www.jeffreykegler.com/Home/perl-and-undecidability)

</comment><comment><USER20> Key point:

> In practice, compilers limit template instantiation depth, so this is more > of a theoretical problem than a practical one.

<comment><USER21> Magic numbers to limit undecidability are incredibly fragile. You think you have all the cases covered and another comes up, or the numbers need to be enlarged because of some reasonable code being rejected.

Better to have this problem in the parser than the type checker, at least.

<comment><USER20> There's no assumption that all the cases are covered up. Only some. The point is - in practice, don't try to go in too deep with templates.

</comment></comment></comment><comment><USER22> This is one of the major issues with these languages that were initially designed by amateurs (I mean that in the positive sense, someone who does something because they care about it, and not because they are paid to do it). Often they simply did not see the long-term benefit of adhering to the limits of a "standard" architecture (i.e., context-free, unambiguous grammar, decidable static analysis (lookup!), multi-pass implementation). Yet these hackers still made a successful product. Now others must live with the consequences (for another example, have a look at javascript's scoping - <USER3> strongly suspect that it was a beginner's mistake that made it into production).

That particular syntactic ambiguity in C++ would have been trivial to fix (and could still be fixed today!), but no one really cares (and it would not be backwards compatible...).

Another example is the current situation with modules in C++. Instead of looking into the diverse ML implementations or even Java and trying to get the system right, the current discussion goes into wild compiler hacks just to avoid a simple limitation on filenames.

<comment><USER23> If I remember correctly Stroustrup was working at Bell labs in the initial phases of the cpp design with a formal education in CS. Hardly an amateur? Inexperienced maybe.

<comment><USER24> "Formal education in CS" is not the same as, say, a degree related to programming languages or compilers.

<comment><USER25> Sure it is! A reputable CS degree will cover multiple programming languages and compiler implementation.

I don't think you could study just "compilers", say, at undergrad level. Maybe you mean postgrad or postdoc-level qualifications?

It would certainly be a pretty different world if you were only allowed to design a new programming language after getting your PhD in language design.

<comment><USER26> > _Sure it is! A reputable CS degree will cover multiple programming languages > and compiler implementation._

Which is neither here, nor there. A reputable CS degree is an all rounder, it's not expertise in PL design and research.

> _I don't think you could study just "compilers", say, at undergrad level. > Maybe you mean postgrad or postdoc-level qualifications?_

For starters, yes, but it's not about official qualifications. Someone (e.g. Simon Peyton Jones) could be a PL expert without "official qualification" in the form of such a degree.

Even writing many increasingly successful languages could do it. Starting with your first (or first serious) attempt at a language, however, is not that...

Anders Hejlsberg is another famous example. He didn't complete his university (and it was on Engineering anyway), but after decades of successful work on the field be became a major PL designer and expert.

Stroustrup, however, was hardly anything like that at the time he first designed C++.

<comment><USER9> In most European universities CS and Engineering are intermingled.

Pure CS theory tends to be a maths major.

<comment><USER26> > _In most European universities CS and Engineering are intermingled._

Not at the time, when CS didn't even exist in many European universities, or was rudimentary at best.

<comment><USER9> You will find plenty of degrees already available during the 70's, almost a decade before C++ came to be.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> > If it is not SomeType, then ::name is a typedef for int and the parse tree > is declaring a pointer-to-int named x.

Doesn't this require "typename" at the beginning of the line?

<comment><USER6> No, not in this instance. typename is needed to mark dependent names as types, but you can only have dependent (i.e. on a template parameter) names within templates.</comment></comment>


Ask HN: Four interviews tomorrow, how to prepare? - <AUTHOR>

So I have four interviews for backend developer at four different companies, what things should I look out for? Should I bring this fact up? I always get stuck on programming, algorithm questions, any common ones I should look out for? <comment><USER2> [http://www.amazon.com/Cracking-Coding-Interview- Programming-...](http://www.amazon.com/Cracking-Coding-Interview-Programming- Questions/dp/098478280X)

Casually mentioning that your day is full of interviews should help you appear more desirable..

<comment><AUTHOR> I googled the book and the full pdf came up as the second result. Reading it now.</comment></comment>


High-Profile Agency Recruiting for Assistant Deputy Director - <AUTHOR> https://www.techwire.net/news/high-profile-agency-recruiting-for-assistant-deputy-director.html <comment><USER2> A job ad that's _paywalled_.</comment>