FreeNAS and TrueNAS Are Unifying - <AUTHOR> https://www.ixsystems.com/blog/freenas-truenas-unification/ <comment><USER2> Excellent news. This is something far more open source projects should do. All this fragmentation is good for nothing, it is _far_ better to have one really good piece of software than 20 half baked ones all doing roughly 80% of the whole.

<comment><USER3> >it is far better to have one really good piece of software than 20 half baked ones all doing roughly 80% of the whole.

I have to disagree on this one. Multiple diverging projects create _Stability_, whereas a single project creates _fragility_. One bad step on the only project, and it will be all who suffer

<comment><USER4> Try to provide a package of a GUI app "for linux". After you support centos, fedora, debian, ubuntu, gentoo and arch, you'll maintain a mess of brittle packaging scripts for years, breaking at each release and some updates. Just making the first release for each is a challenge. Even app images, the least well integrated system will fail at some point.

You'll see how stable is diversity.

Then package for windows xp. It probably works on windows vista, 7, 8 and 10.

Now I do see a lot of value in diversity. Resiliance, ethics, competition, collaboration...

Stability isn't one.

<comment><USER5> Do developers not know how to statically compile software anymore?

Also, you shouldn't be writing your own packaging scripts: leave those to distribution packagers. There are thousands of people who work on packaging these things, and the user of the distribution is much safer if they don't touch software distributed by random people.

This stuff is completely stable, just don't break the assumptions of the system without knowing what you're doing.

<comment><USER4> Oh, but you still need to make a deb, rpm, nix, whatnot then compose with the os tooling, conventions and expectations. And use those to provide your conf/update/failure, menu integration, permission system, logging, init system, notifications, etc.

Or provide an app image and ignore most integration.

This is my point exactly: to get stability, you remove diversity.

Static linking, one packaging system, and you don't have to care about how diverse the universe it.

But it also means you don't benefit from what make those differences add: security updates, dependancy graph, automation, signing, jails, user documentation and training, os integration, native window theming, etc.

<comment><USER5> _Oh, but you still need to make a deb, rpm, nix, whatnot then compose with the os tooling, conventions and expectations. And use those to provide your conf /update/failure, menu integration, permission system, logging, init system, notifications, etc._

This shouldn't need to be done? The distribution's packagers handle most of this. Except for Nix, maybe? I hear they have a particularly fucked up ecosystem for packaging.

<comment><USER6> > The distribution's packagers handle most of this.

And often fuck it up and introduce bugs or even vulnerabilities, intentionally ignore the developer, or simply fail to update packages in a reasonable time frame.

Relying on free labor to package software for you is a terrible terrible idea that helps keep Linux Desktop a shitshow.

<comment><USER7> Disagree strongly and as a user I feel distributions and package maintainers are a necessary defense against overly opinionated developers.

I'm glad there is a layer there that will patch and configure to better integrate into the system and in some (very rare) cases remove user hostile "functionality".

<comment><USER8> Sometimes it's better to trust the developers, not the packagers. Example is the Debian SSH vulnerability from 2008: [https://www.debian.org/security/2008/dsa-1576](https://www.debian.org/security/2008/dsa-1576)

This was a bug introduced in packaging. See [https://lwn.net/Articles/281436/](https://lwn.net/Articles/281436/) for more details.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Looking a bit deeper (eg [https://www.reddit.com/r/freenas/comments/fdx8rj/freenas_and...](https://www.reddit.com/r/freenas/comments/fdx8rj/freenas_and_truenas_are_unifying/fjkwjcl/)):

> Some of the features of TrueNAS Enterprise include support for dual- > controller/HA systems, native Fibre Channel support, integrated chassis > monitoring and management, as well as certifications with platforms like > VMWare, Veeam, and Citrix.

The "native Fibre Channel" support bit sound a bit worrying. Isn't that just the inclusion of appropriate drivers in the kernel config used to compile the image?

People do ask about that on the FreeNAS forums (Fibre Channel support), so it's not like there's no demand for FC from FreeNAS users.

<comment><USER10> Why is that worrying? They consider FC support to be an Enterprise feature which I'd say is a pretty fair assessment. They are in the business of making money and their way of doing it is by charging for certain features. If you don't want to pay, build your own freebsd nas from scratch and enable FC. I don't understand why that's concerning.

<comment><USER9> My point is there isn't an "enable FC" option in the base FreeNAS image. Otherwise people would be doing it already. :(

It's sounds like FC is being "kept back" from people that want it, in maybe more an open-core approach.

<comment><USER11> All of the "Enterprise" features are being "kept back" from Core. That's kind of how tiered software packages work...

<comment><USER9> Ugh. It's not just "Enterprises" that use FC, though it's the most common case.

It's also in use by people that buy FC gear on Ebay, as they want some of the capabilities that FC offers for whatever reason.

If they've really decided to lock OSS customers out of using FC gear (which would be crappy), this definitely sounds like a move to "Open Core" or something like it and would a shame. :/

<comment><USER11> Come on man, you can make that exact same argument for damn near every "Enterprise" feature locked away behind a paid tier in every piece of software.

</comment></comment></comment></comment></comment></comment><comment><USER12> happy and long-time (home) FreeNAS user/admin here. last year i managed to convince our internal corp IT dept to not renew their overpriced yet inexplicably not that good Dell storage and go with purchasing some TrueNAS, and they have been very satisfied. great product, great support, great company. a really solid recommend.

<comment><USER6> Seriously? Can a FreeNAS setup actually support the kind of uptime and performance features of modern enterprise storage? I've never heard of an open solution supporting redundant controllers and multipath, for instance.

<comment><USER12> well, re: "enterprise storage", note that i did specify "internal corp IT dept".

so i guess it depends on what you mean by "enterprise"? and what that enterprise does?

we serve a decent amount of video content out (~35Gbps during peak) and we have a lot of video content stored and edited in-house. we made the decision to use TrueNAS for our _internal_ work video storage and sharing, but (not yet) for _public_ serving of video.

all the in-house edit masters, work files/partial renders etc are stored on the in-office TrueNAS systems, but the actual _serving_ of the final encoded HLS content out to customers is via in-DC clustered NetApp sitting behind a lot of striped SSDs (FS-Cache) serving out http(s). we have an autoencoding pipeline that picks up the finished masters from the TrueNAS, does the various encodes and throws them up on the NetApps for public serving once they're done.

i'm a longtime enterprise storage user (and specifically a big fan of NetApp), but i would very much like to see if its possible to transition out of such a giant dollar-suck as NetApp and give something like TrueNAS a chance at the frontend.

these baby steps (so far successful!) are our foray into these uncharted waters!

</comment></comment></comment><comment><USER13> Question to those who know:

I used FreeNAS and liked it, but my recent build is Unraid because I had 24 bays, and didn't want to buy all my drives at once, and afaik FreeNAS/ZFS is not super great with adding drives to the pool, especially if they are different drives. Unraid, though, is not great with drive failure and I'm starting to think I want to go back to FreeNAS, but I am torn:

1\. I don't know how to move 80TB.

2\. I still dont want to buy all my drives at once, is FreeNAS better about adding new drives these days?

<comment><USER14> With ZFS you add VDEVs not drives. Pools are collections of VDEVs.

Buy 8 drives, have a RAIDZ2. Fill. Buy 8 more, add as another RAIDZ2 VDEV. Capacity is the sum of both, it's one pool.

</comment></comment><comment><USER15> Nas4Free user here. Home server, nothing fancy but worked perfectly for a few years on a Atom CPU based board with 4GB RAM which could not be expanded further and is listed as minimum required for ZFS. Would this hardware run FreeNAS/TrueNAS or its differences and additional features would require beefier iron? Current configuration is two ZFS RAID 1 pairs plus one additional disk for quick buffering. System currently boots from a USB dongle; the board very conveniently does have a USB receptacle directly soldered, so it doesn't expose the flash key to the outside. No problems in about 4 years, but some day probably this year I'll have to get new disks either due to aging or available space, then get the ball rolling and manually upgrade to XimaNAS (automatic update from this NAS4Free version is risky), or moving to FreeNAS/TrueNAS, or jumping ship completely and get one Helios64 box plus OMV since BSD support on ARM isn't there yet. Any comments?

ps. I'm more of a Linux guy, my BSD knowledge is limited to this NAS4Free installation and a pfSense firewall I run ages ago on PCEngines embedded boards which worked like charm as well.

<comment><USER16> More RAM is better, it will probably work, but be slow. However the same can be said for your current configuration which you seem happy with.

Don't use a USB boot disk though. FreeNAS writes to the boot disk enough to detroy most USB drives in a few months. A high quality USB drive wouldn't have that problem but they don't seem to exist.

<comment><USER17> I've used my FreeNAS with the same USB drive for a few years now, so seems to be fine. Most activity is against the system dataset (which is on my RAID-Z), no?

<comment><USER16> When did you last update? If you have used FreeNAS for years you might be on an old version that almost never wrote to the USB and so you are fine. A couple years ago they made some changes and now FreeNAS writes to the USB often and as a result most USB drives last for only a few months.

<comment><USER18> Just as an additional data point...

I started out with FreeNAS ~18 months ago but I'm not sure at the moment which version that was (I could check later). About a year ago, I updated to 11.2-U2 and just two days ago I've updated to 11.3-U1.

Since the beginning, I've had the "freenas-boot" pool on a pair of USB3 flash drives -- I don't recall which manufacturer/model I'm using but I did specifically buy "higher end" flash drives to use for this purpose. I do a weekly scrub of the "freenas-boot" pool and, thus far, I've experienced no issues with them whatsoever.

FWIW, it's very rare for me to actually log in to the FreeNAS system to make any changes or perform any "administration". I set it up initially and, since then, I've mostly left it alone and it "just works".

</comment></comment></comment></comment></comment><comment><USER19> I've been using FreeNAS and it's been great. There have been some small drawbacks but over all it's been great. Hopefully this will improve stability.

<comment><USER20> I've also been using FreeNAS and I'm fairly happy with it. Their botched version 10 was not fun, and lately I'm annoyed by having to recreate all my Warden jails.

I hope this transition doesn't ruin things.

<comment><USER19> I read about the botched update and it was the first thing that came to mind. Hopefully FreeNAS will have less of a transition than TrueNAS.

</comment></comment></comment><comment><USER21> These NAS targeted distros are amazing. However, my needs are simple. I just don't need 90% of the features they have.

Maybe I'm just a simpleton but I run an rsync script each night. The beauty is that if I accidentally delete something I can easily recover it and if a drive fails I lose less than one days worth of data. This trade-off is well worth it for me.

If I had several drives I'd use SnapRAID to cut down on costs.

Oh and I'm lazy so I installed CentOS on it. In several years when CentOS reaches EOL I'll just buy new hardware and install the newest version.

Synology type devices make me nervous. Krebs[1] recently did a piece on IoT gear being the new target for ransomware. I also wouldn't feel comfortable exposing anything running on these devices to WAN.

[1] [https://krebsonsecurity.com/2020/02/zyxel-fixes-0day-in- netw...](https://krebsonsecurity.com/2020/02/zyxel-fixes-0day-in-network- storage-devices/)

<comment><USER18> I've had FreeNAS running on a 2U Supermicro box for a year and a half or so (I ran FreeBSD on it prior to that). My needs are pretty simple and I don't need 90% of the features either. I only use iSCSI (for the VMware servers in my lab) and NFS (for pretty much everything else); occasionally I'll rsync my workstation's files to it for an "extra" backup.

I've got automated ZFS snapshots set up and when I finally replaced a failing drive -- just two days ago, I think -- it was a fairly simple matter. I updated it to the latest version of FreeNAS and that was simple and straightforward too.

FWIW, this box isn't exposed to the Internet. In fact, it doesn't even have a default route; besides, my router / firewall filters _outgoing_ traffic too -- not just incoming.

I could have just used FreeBSD and configured the pieces I need instead of using FreeNAS but it's been quite stable and reliable and has mostly been a "set it up and forget it" experience.

</comment></comment><comment><USER22> If I already know my way around FreeBSD and around a command line, why would I want to use FreeNAS instead of just sticking to vanilla FreeBSD?

Is the value added that it is easier to configure? Is there better default tuning for a NAS setup?

I've occasionally browsed the FreeNAS forums and they seem to have stridently opinionated people in them telling everyone exactly how things should and shouldn't be done. But I've never seen a simple clear explanation of _why_.

What I'm looking for is something like a table of items that says:

Here's something that FreeBSD does .... Here's how FreeNAS improves that thing.

<comment><USER12> FreeNAS is what experienced/wise long-time unix admins will setup at home for their giant anime SAN/NAS because:

\- they've been around the block long enough to know that FreeNAS can do 95% of what they need better than they can do it, with far less chance of errors introduced, but with 95% less of their valuable time needed to do it

it's that simple honestly.

if you already know how to do setup/configure/tune/tweak all of the components inside FreeNAS specific to your environment, congrats, you're already a great unix admin. you've been in your career a while, and you're probably pretty well paid.

but why would you spend your valuable per$onal time to faff about setting up/configuring/tuning/tweaking what FreeNAS can do out of the box, unless you have an edge case scenario that FreeNAS doesn't cover or can't do well?

for the same reasons, again i must specify -- unless you have very specific edge case scenario(s)/situation(s) or wanted to use this as a learning exercise -- why would you:

1) hand-craft your own *BSD or Linux-based firewall/VPN/router, instead of using pfsense/iptraf/etc

2) hand-craft, build and create your own Wifi router OS image, instead of using OpenWRT

3) roll your own port monitoring and OS proc monitoring notification system, instead of using Nagios/BigBrother/etc

so to get back to your OG question of

> If I already know my way around FreeBSD and around a command line, why would > I want to use FreeNAS instead of just sticking to vanilla FreeBSD?

because your time is valuable, and because FreeNAS can do 95% of what you need better than you can do it.

(edited for formatting/clarity)

<comment><USER23> >giant anime SAN/NAS How did you know???

<comment><USER16> There can't be two of us in the world with a personal SAN/NAS that isn't a giant anime collection. Since I know I'm the one with a personal NAS without such a collection it stands to reason that if you have a personal NAS you have it full of anime. QED

</comment></comment></comment></comment><comment><USER24> But why did it have to rename FreeNAS to TrueNAS Core? It makes it confusing to search/google, and we'll now need to search for both FreeNAS and TrueNAS Core. I wished the name remained FreeNAS, as it had been in the past 15 years of its history.

<comment><USER25> Probably for marketing/sales reasons. The survival of both products depends on businesses purchasing TrueNAS, so increasing exposure to that project is good for business.

<comment><USER26> Or maybe the "core" version won't be free much longer?

<comment><USER18> Everything in this thread is discussed (in a few paragraphs) in the article.

</comment></comment></comment></comment><comment><USER27> now, only question is would they be any better than Synology for non-technical users?

<comment><USER28> truth be told; I consider myself highly technical, even with things like FreeNAS.

I went to check my custom built FreeNAS one day, and it's off, and it wouldn't properly boot so I needed to haul a monitor out to see what was going on...

I finally hit the age where I don't care to deal with shit like that anymore, and finally pulled the trigger on a synology. Couldn't be happier.

It was fun setting it up and configuring FreeNAS the way I wanted, but overall bleh because I didn't get the right HW (went dual core atom at the time, not beefy enough for plex re-encoding).

<comment><USER29> On the other hand maybe buying a consumer NAS can give you a false sense of security: [https://kevq.uk/i-nearly-lost-all-of-my- data/](https://kevq.uk/i-nearly-lost-all-of-my-data/)

<comment><USER30> > [...] consumer NAS can give you a false sense of security

Your conclusion is not supported in the mentioned URL.

What has been described in the URL could've happened with a FreeNAS or TrueNAS or Open Media Vault system or just about any system. RAID is never a backup, and one backup is not enough.

<comment><USER29> If you read the parent comment between the lines, it implies that Synology feels worry free in comparison to FreeNAS.

My point is that both options have similar chances of breaking unexpectedly.

<comment><USER31> It is also a fact that both meterorites and rain fall from the sky sometimes, but that doesn't mean the "chance" of a meterorite hitting my head are the same as a raindrop.

You're only going to get actual, reliable and useful numbers about failure rates between competing products by doing actual studies and analyzing the aggregate results. Anything else is meaningless. And as a buyer, I'm more worried about things like warranty and technical support quality, frankly, if I'm going to buy a prepackaged system anyway, which are easier to gauge from afar.

</comment></comment></comment></comment></comment></comment><comment><USER32> Where is the TrueNAS source repo? I can only find the FreeNAS repo.

<comment><USER33> From TFA

> FreeNAS and TrueNAS have been separate-but-related members of the #1 Open > Source storage software family since 2012. FreeNAS is the free Open Source > version with an expert community and has led the pursuit of innovations like > Plugins and VMs. TrueNAS is the enterprise version for organizations of all > sizes that need additional uptime and performance, as well as the > enterprise-grade support necessary for critical data and applications.

> In the 11.3 release, FreeNAS and TrueNAS share over 95% of the same source > code but are built into separate images, each with their own name. The > Version 12.0 release will change this process by moving to one unified image > with two different editions: a free, Open Source edition (this will never > change!) and an enterprise edition.

> Both editions will have common Open Source code, unified documentation, and > a shared product name.

So I suspect that the source code for TrueNAS is not available.

<comment><USER32> Ah, I see. I thought they were completely different products, but it sounds like TrueNAS is an enterprise version of FreeNAS and this unification seems like it is just deprecating the FreeNAS name.

</comment></comment></comment><comment><USER34> The True, Free, NAS. The Free, True, NAS.

</comment><comment><USER35> I use unraid. While not free, I think it's the best home nas software.

[https://www.unraid.net/](https://www.unraid.net/)

<comment><USER36> Does unraid still not offer real time raid ability? I read before and it seems it is similar to snapraid which require externally evoked sync command to do this. Is this still the case?

<comment><USER37> Yes, when you use a cache disk (or pool since unraid 6 apparently). Data is moved automatically at night. Cache pools are BTRFS mirrors so they now can provide redundancy of the cache.</comment></comment></comment>


How I built a zero energy cost, zero carbon home server - <AUTHOR> http://www.theregister.co.uk/2010/11/11/diy_zero_energy_home_server/

<comment><AUTHOR> [http://www.earth.org.uk/note-on-Raspberry-Pi- setup.html](http://www.earth.org.uk/note-on-Raspberry-Pi-setup.html)

</comment><comment><AUTHOR> [http://www.earth.org.uk/note-on-SheevaPlug- setup.html](http://www.earth.org.uk/note-on-SheevaPlug-setup.html)

</comment><comment><AUTHOR> [http://www.earth.org.uk/low-power-laptop.html](http://www.earth.org.uk/low- power-laptop.html)

</comment><comment><USER2> Have you considered the Carbon Dioxide used in producing your hardware?</comment>


Who ever said forms should be boring? - <AUTHOR>

Today's modern websites & applications embrace the rich front-end features that HTLM5, CSS3, Responsive design and Javascript animation offer.
So why has this trend been mostly overlooked when it comes to forms? Who ever said that a survey has to be functional and boring?
There is a new service called www.typeform.com that thinks otherwise. I would be interested to know what people think and expand on the topic of responsive webform design. <comment><USER2> Hmm, this is interesting. Do you know how long ago this service became available? My company launched a responsive form app last week, so I'm not sure which of us was first. <http://www.coffeecup.com/web-form-builder/>

Either way, it's great to see more elements of web design going responsive — not just site layouts! I was looking at responsive jQuery sliders earlier as well.

<comment><AUTHOR> Typeform as a service will be available in Beta from January 2013 onwards. The team behind typeform have been working on the project for the last 18 months. In fact there is allot of R&D behind the project in that it's not just about making the design responsive but also the user experience, not to mention the complexity in carrying this user experience across devices.

</comment></comment><comment><USER3> Any insight on why this is downloadable software? (As opposed to in the browser). That's very surprising.

</comment><comment><AUTHOR> <http://www.typeform.com>

</comment><comment><USER4> Looks very interesting... Just tried a typeform on my iPhone, great UX!</comment>


Refactoring with Loops and Collection Pipelines - <AUTHOR> http://www.martinfowler.com/articles/refactoring-pipelines.html

<comment><USER2> Did Martin really need to invent the important-sounding term "collection pipeline" for this?

<comment><USER3> well, it takes what it takes to sell consultancy.You have to be a bit "creative", make the old stuff new, marketing is at the center of any consultancy /s

I mean that's how things work, you don't have to invent anything, just make up some new expressions.

<comment><USER4> > I mean that's how things work, you don't have to invent anything, just make > up some new expressions.

Let's be somewhat more charitable, and say "you don't have to invent anything, just provide an insight". Which is pretty reasonably, I think.

<comment><USER3> agreed.

</comment></comment></comment></comment><comment><USER5> Fowler has it backwards, list comprehension is a subset of LINQ syntax which is full monadic comprehension (among other things)

</comment><comment><USER6> I'm all for threading and pipelining when appropriate, but I don't find these any easier to read. The nested example in particular is harder to follow.

This is in sharp contrast to Python list comprehensions, which are very straight forward and understandable.

</comment><comment><USER7> What about the performance implications, i.e. depending on language, you are iterating the list multiple times, which can be slower sometimes than just one iteration through.

</comment><comment><USER8> Is there some advantage to not having the "handle" null check the first "Where"?</comment>


Terrifying New Climate Models Warn of 6-7°C of Warming by 2100 - <AUTHOR> https://www.commondreams.org/news/2019/09/17/terrifying-new-climate-models-warn-6-7degc-warming-2100-if-emissions-not-slashed <comment><USER2> "The worst-case scenario of 6.5-7.0°C of warming assumed continued economic expansion driven by growth of fossil fuel production"

I assume this means "doing nothing, all future growth based on burning coal", which hopefully is a lot less likely than the headline makes it sound.

<comment><USER3> Don't worry, there are enough runaway feedback loops we will all be dead by then. No one can turn this ship around fast enough; the planet will do it for us.

<comment><USER4> Even the most pessimistic models do not predict human extinction. Life existed on earth before the carboniferous period, and will exist even if atmospheric carbon goes back to pre-carboniferous levels. There will certainly be drastic changes in the environment that reduce arable land, cause water shortages, and other negative effects if this happens and thus it's a good idea to decarbonize energy production. But this hyperbolic narrative of extinction is counterproductive, and makes people question whether proponents of decarbonization are really making an effective judgement around the tradeoff of energy cost and carbon emissions.

<comment><USER5> I do not believe that all nuclear stockpiles will remain untouched during this not-extinction-but-close-enough. And after the first nukes fly, who knows how many more will follow.</comment></comment></comment></comment>


Compiling Objective-C Using Visual Studio 2015 [video] - <AUTHOR> http://channel9.msdn.com/events/Build/2015/3-610 <comment><AUTHOR> tl;dv:

\- real ObjC compiler (clang) + runtime (unspecified)

\- "modern" ObjC with ARC + Blocks

\- C++ interop access to all Windows APIs

\- C# integration "coming"

\- Apps are full windows apps

\- subset of iOS APIs

\- OpenGL/ANGLE/CAEAGLLayer/EAGLContext, OpenAL, Sensor

\- UIKit, CoreAnimation, CoreGraphics CoreText, "Touch"

\- Nibs, Storyboards and Autolayout are supported

They don't claim or shoot for complete coverage or compatibility with a specific iOS version.

Swift is not there, dev said "coming", suit said "we have no comment" (the interaction between the young and slightly insecure program manager and the old and very comfortable dev. was fun to watch).

Project conversion is one-way and apparently one-time, which could be an issue. Dev immediately said "why not two-way, hey, that's a good idea, we'll do that". I think the suit was only half joking when he asked for the dev's mike to be cut...

I didn't quite get the philosophical musings about code generation. Huh?

Coroutines for C++ also looked quite neat, very light-weight/fast implementation (~cost of a function call).

<comment><USER2> > \- real ObjC compiler (clang) + runtime (unspecified)

It seems Microsoft actually wrote their own Objective-C runtime. I mean otherwise the guy would have said "we ported Apple's runtime" or something like that. But he said " _We_ are providing you with a great Objective-C runtime."

Crazy times.

EDIT: Definitely a new runtime written by Microsoft. The rest of the talk made that clear.

<comment><USER3> Crazy and awesome. From what I've seen it should be possible to create a fully-featured WinPhone app now with Objective-C code. Microsoft claims that they've ported a lot of the API's including the most important API's for gaming (OpenGL, OpenAL, etc...) but also (and this surprised me) CoreGraphics, CoreAnimation and (a large part of) UIKit and Foundation (must have been a crazy amount of work).

Microsoft looked at the API's that are most used by developers and implemented those first, but they will add more API's in the future.

A lot of stuff, like local notifications is directly mapped to WinPhone toasts. But at the same time you can directly use WinPhone API's from Objective-C, if you choose to.

And you can develop all using Visual Studio. This will be really interesting and fun.

</comment></comment></comment><comment><USER4> [https://dev.windows.com/en-US/uwp-bridges/project- islandwood](https://dev.windows.com/en-US/uwp-bridges/project-islandwood)

</comment><comment><USER5> I was really hoping to see more support for OS X API's, personally I'm a lot more interested in porting my Mac desktop app to Windows desktop than any iOS project.

<comment><USER6> I don't think they are interested in OS X APIs at all. It's not as if Windows doesn't have tons of native apps in the first place.

What they want is to offer a way to get the million of iOS apps into Windows Phone.

<comment><USER7> Microsoft would be stupid to not offer to port Cocoa apps.

How else are they supposed to convince developers such as myself to even consider buying a PC? With Apple dropping the ball with Yosemite, the opportunity is ripe for Microsoft to compete for quality devs and quality apps.

<comment><USER6> This sounds like reasoning from some parallel universe to me. First, Apple hasn't dropped any ball with Yosemite.

It's it's as good as it ever was. People have been complaining for every major release since 10.2 how the OS gotten more buggier, etc. Then a couple of point updates come and fix any major new bugs and the stop. Then, sometime around 10.x.6-8 a new version is relased and then they complain for the next release and remember the old one fodly. I have articles and blog posts with similar complaints from 10.5 and 10.7 and 10.8 and 10.9 with the same pattern. Even for 10.6, which was mostly a no-new-features release.

Second, even if they had, there's not much value in "offering to port Cocoa apps". Major apps are already cross platform (from Adobe stuff and Eclipse/Idea, to Cubase, Sublime Text and Mathematica, including Office, which MS itselfs makes anyway), and smaller Mac-Only apps don't have much to offer to Windows users, and wouldn't be much outside of the Mac ecosystem anyway.

You'd get what, Pixelmator and BBEdit? There are 4-5 established alternatives in Windows for each piece of Mac software.

<comment><USER8> This is a case of "works on my machine." There are serious[1] documented[2] issues[3] with Yosemite[4] that were not there in the previous OS X release, and, after multiple point updates still haven not been fixed. Apple _has_ dropped the ball. The general quality of the OS, apps, integration and fit and finish has decreased tremendously.

[1]: [http://arstechnica.com/apple/2015/01/12/why-dns-in- os-x-10-1...](http://arstechnica.com/apple/2015/01/12/why-dns-in- os-x-10-10-is-broken-and-what-you-can-do-to-fix-it/)

[2]: [http://osxdaily.com/2015/04/06/windowserver-high-cpu- usage-m...](http://osxdaily.com/2015/04/06/windowserver-high-cpu-usage-mac- os-x/)

[3]: [http://osxdaily.com/2015/04/10/fix-finder-problems-mac- os-x/](http://osxdaily.com/2015/04/10/fix-finder-problems-mac-os-x/)

[4]: [http://osxdaily.com/2015/04/17/fix-slow-folder-populating- cl...](http://osxdaily.com/2015/04/17/fix-slow-folder-populating-cloudkit- macosx/)

<comment><USER6> > _This is a case of "works on my machine."_

Nope, I even have had a couple of issues (wifi related) which were solved in .2 update. But I also know that I had this or that issue everytime since 10.2 when I started using the OS. I also know I had tons of issues in Linux (been using it since 1997) and Windows (since 3.1), and I'm also a programmer, so I don't have BS expectations from something as huge as a complete OS and apps distro.

So, it's mostly a case of "have been following this space since 2002, including reading most forums, trade mags and blogs, so have a feel for what people compain about."

> _There are serious[1] documented[2] issues[3] with Yosemite[4] that were not > there in the previous OS X release, and, after multiple point updates still > haven not been fixed._

Nothing special about those issues you posted. I post below a list of issues for Mavericks (tried to find similar or even the same). I can find for you similar items even down to 10.2, including lamenting articles about "buggiest release ever", etc.

As for the "and after multiple point updates still haven not been fixed", first we're at 10.9.3. So multiple is just 3 releases. Usually we get up to 7 or 8. And some even carry over or get fixed in the next version, especially if they don't affect many people.

And before dismissing "works for me" casually because of some issues online, note that with a user base in the 100s of millions, even a bug affecting 0.1% (with some weirdo network setup, bad HD sectors, broken hardware, haxies etc), it will still be reported by tens of thousands and appear bigger than it is.

Kernel task high cpu in Mavericks: [https://www.google.gr/search?q=kernel+process+high+cpu+maver...](https://www.google.gr/search?q=kernel+process+high+cpu+mavericks&oq=kernel+process+high+cpu+mavericks&aqs=chrome..69i57.7454j0j7&sourceid=chrome&es_sm=119&ie=UTF-8)

Broken DNS resolution in Lion / Mavericks: [http://www.makingitscale.com/2011/fix-for-broken-search- doma...](http://www.makingitscale.com/2011/fix-for-broken-search-domain- resolution-in-osx-lion.html) [http://www.eigenspace.org/2011/07/fixing-osx- lion-dns-search...](http://www.eigenspace.org/2011/07/fixing-osx-lion-dns- search-domains/)

Mavericks Finder bugs: [https://discussions.apple.com/thread/5467931?start=30&tstart...](https://discussions.apple.com/thread/5467931?start=30&tstart=0) [http://macperformanceguide.com/blog/2014/20140213_1-Maverick...](http://macperformanceguide.com/blog/2014/20140213_1-Mavericks- bugs.html)

Mavericks Slow Finder: [https://discussions.apple.com/thread/5505550?tstart=0](https://discussions.apple.com/thread/5505550?tstart=0) [http://osxdaily.com/2013/11/13/fix-finder-slow-high-cpu- use-...](http://osxdaily.com/2013/11/13/fix-finder-slow-high-cpu-use-mac- os-x/) [http://www.tweaking4all.com/os-tips-and-tricks/macosx- tips-a...](http://www.tweaking4all.com/os-tips-and-tricks/macosx-tips-and- tricks/fix-slow-mavericks/) [http://www.reddit.com/r/osx/comments/1pj5cc/finder_very_slow...](http://www.reddit.com/r/osx/comments/1pj5cc/finder_very_slow_to_display_files_within_folders/)

More bugs for Mavericks: [http://www.wired.com/2013/10/mavericks-issues-and- fixes/](http://www.wired.com/2013/10/mavericks-issues-and-fixes/) [http://www.macworld.com/article/2059577/bugs-and-fixes-a- rou...](http://www.macworld.com/article/2059577/bugs-and-fixes-a-roundup-of- mavericks-troubleshooting-tips.html)

10.5 Finder Data Loss bug: [http://www.macintouch.com/leopard/movebug.html](http://www.macintouch.com/leopard/movebug.html)

<comment><USER7> I've been a Mac user since OS 7. Don't reinvent history.

Since 10.0, OS X got progressively better with every release up to 10.4. After that things got progressively worse.

Your are only proving our point.

<comment><USER6> > _I 've been a Mac user since OS 7. Don't reinvent history._

Reinvent what?

> _Since 10.0, OS X got progressively better with every release up to 10.4. > After that things got progressively worse._

That things "got progressively worse" is just your opinion, not some general consensus. As I noted, others say 10.6 was the best. Others that 10.8 was the last great one. Others that 10.9 was just as good, but 10.10 blew it.

Heck, read Siracussa, for one, does he say that 10.4 was the pinaccle?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> That talk is interesting and it's be great to be able to build for iOS in VS, but other information that seems to be coming out around this is very confusing. This[1] blog post links to this MSDN article[2] which says "You can use Visual C++ for Cross-Platform Mobile Development to edit, debug and deploy iOS code to the iOS Simulator or to an iOS device, but because of licensing restrictions, the code must be built remotely on a Mac.".

[1] [http://blogs.msdn.com/b/vcblog/archive/2015/04/29/what-s- new...](http://blogs.msdn.com/b/vcblog/archive/2015/04/29/what-s-new-with-c- cross-platform-development-with-vs-2015-rc.aspx)

[2] [https://msdn.microsoft.com/library/dn707598%28v=vs.140%29.as...](https://msdn.microsoft.com/library/dn707598%28v=vs.140%29.aspx?f=255&MSPPError=-2147217396)

<comment><USER9> Ahh, after watching the entire talk now I get it. So this Obj-C+libraries is for bringing Obj-C apps to Windows, not really for building apps targeted at iOS.

</comment></comment><comment><USER10> I watch this and I can't help thinking, "Apple has won".

<comment><USER11> I think the reality is even more interesting than that: Apple has won, but MS is in the position of being able to do whatever they want, so they can chase after any developer audience they're looking to capture.

Thus, they're adding clang integration, and an objective c runtime, and a way to run 'universal' windows 10 apps on xbox one, a rearchitected browser with modern js (asm.js!) and modern platform features (webgl!) etc etc etc. They just want devs to put their applications on Microsoft platforms, they're letting go of the desire to control every part of the platform & developer experience.

Compare this with how Apple has been aggressively pruning and scoping down their dev tooling, it's a pretty interesting contrast. They insist on controlling everything from beginning to end, which results in problems like not being able to build executables that support older versions of OSX with the official toolchain.

</comment></comment><comment><USER12> Someone has been porting my porridge!</comment>


The LG Wing is a "T" shaped, dual-screen smartphone - <AUTHOR> https://arstechnica.com/gadgets/2020/08/the-lg-wing-is-a-t-shaped-dual-screen-smartphone/ <comment><USER2> I love that LG is still playing around with new form factors. Between this and the V60 the line up looks interesting.

That being said, I don't think these will catch on, and that's very unfortunate as it disincentivizes companies to try new things.

<comment><USER3> well, at least software-wise I guess there shouldn't be an issue; android already supports multi-tasking, and scaling to that size (not sure what they call it -- but my samsung floating app feature seems to be generally well supported, and most apps scaling properly)

So it's just an issue of whether consumers will actually go for it.. which is exactly the incentive/disincentive you want.</comment></comment>


Buying a credit report sucks - <AUTHOR> https://medium.com/@officialneilc/buying-a-credit-report-sucks-f2966ae880e8 <comment><USER2> It's very unusual for a landlord to have prospective renters buy the report where I live. They typically pay for a credit report plus a background check and then pass the cost on as part of an application fee.

<comment><AUTHOR> Where do you live? That sounds ideal.</comment></comment>


Practices for Developers to Speed Up Your Learning - <AUTHOR> https://blog.bam.tech/developper-news/5-practices-for-developers-to-speed-up-your-learning <comment><AUTHOR> In this article, I'm sharing with you some practices (like ghost or pair programming, test driven development) and how they helped start as a young developer</comment>


Blue Apron craters below $1 (APRN) - <AUTHOR> https://markets.businessinsider.com/news/stocks/blue-apron-stock-price-below-1-2019-3-1028002474 <comment><USER2> With subscription models being popular in tech industry but still relatively novel on wall street: Blue Apron had enough subscription details to show that their cost of customer acquisition was skyrocketing and the churn was looking shaky.

The numbers were all there in their filings if you cared to look. Most people looked, didn't like what they saw, but the deal got done anyways. Credit to the investment bankers, I guess.

</comment><comment><USER3> Meal kits are cool, when they're at the grocery store. I buy them sometimes. But having to choose in advance (or worse, having rotating menus), deal with shipping, and commit to a subscription kills the business model.

</comment><comment><USER4> I wonder what position the investors prior to the IPO still have.</comment>


Javascript injection game - <AUTHOR> http://escape.alf.nu/

<comment><USER2> Interesting idea. Just goes to show I don't know nearly as much Javascript as I should considering I'm stuck on level 3.

<comment><USER3> Level 3 took me a while as well. It's a good learning opportunity. I haven't finished yet, and I suspect I'll learn some more as I do.</comment></comment>


Amazon's Tax Dodge - <AUTHOR> http://www.nytimes.com/2011/09/07/opinion/amazoncoms-tax-dodge.html <comment><USER2> To call this a "tax dodge" is libel. Amazon does not owe the taxes. The citizens of California do. How can Amazon be accused of dodging taxes that it is not liable to pay.

Once again the New York Times places the blame on business, when the blame belongs on the consumer, and on the government that has made the state of California hostile to doing business within its borders.

If the law is re-interpreted to mean that the _ability_ of another state's citizens to purchase from your business in the privacy of their homes, constitutes an obligation of said business to collect taxes on behalf of the consumer's state, then all such transactions must be equal, regardless of the distribution channel. Business conducted by catalog or by phone should also impose such a burden on a retailer.

Consider where this would have to go: every retailer would have, of necessity, to collect taxes for 50+ tax authorities, as state-after-state makes the same demand on the retailer. While large businesses (admittedly, Amazon being one of them) have the infrastructure in place to do this, most small businesses do not. Their costs will inevitably increase, as they attempt to comply with the burden of collecting for and reporting to all the various regional tax authorities.

How many brick-and-mortar shops survive today based upon their online business? Shall said businesses be required, by the government to _turn away_ out-of-state customers because they are not equipped to collect taxes for their customers' states of residence?

</comment><comment><USER3> "Every man is entitled if he can to arrange his affairs so that the tax attaching under the appropriate Acts is less than it otherwise would be. If he succeeds in ordering them so as to secure that result, then, however unappreciative the Commissioners of Inland Revenue or his fellow taxpayers may be of his ingenuity, he cannot be compelled to pay an increased tax."

</comment><comment><USER4> "... These cash-strapped governments ..."

Because we all know the governments are very thrifty and efficient when spending taxpayers money? Somehow I can't bring myself to feel any pity for these poor governments.</comment>


Ask HN: How many hits/mb caused a Hug of Death on your Server? - <AUTHOR> Hi, I'm about to announce a new (niche) product on various sites, including HN, and I want to scale the website accordingly to avoid a Day 1 'hug of death'.
The site will probably be a 1 or 2 pager with some basic graphics/screenshot and a 20mb download (.zip file).
Can anyone share their recent stats from when they got hugged, or provide some scaling tips?
I'm skint, and it's a non-profit product - so a load-balanced quantum-bit powered super-server-farm is a bit out of my reach... <comment><USER2> Use maximum possible JPEG/PNG compression, enable AMP, use HTTP/2.

And host the 20MB zip somewhere else, DropBox, Google Drive, Mega or something.

</comment><comment><USER3> Make a static web site, at least as the landing page.

Maybe host the 20MB file elsewhere and just link it.</comment>


Draw on any webpage. Share your ideas - MarkUp - <AUTHOR> http://markup.io/

<comment><USER2> I think there are security issues, as it "works" by copying the HTML of the page and overlaying a canvas on top. So, for e.g., if you post a HN page, I could copy the URL for upvoting, trick you into clicking it and get an upvote automatically. The auth token in the upvote URL is supposed to prevent CSRF attacks, so it's dangerous to give it away!

It's also a problem with websites that store temporary auth tokens on the webpage, though I don't know any.

<comment><USER3> As with all bookmarklets that include dynamic scripts, there's the security issue of XSS as well, including cookie hijacking and form posting. It completely a matter of trust that the bookmarklet you're running is safe, and hasn't been modified to do anything bad.

<comment><USER2> I completely agree with you. But then, I have to trust only the bookmarklet provider not to do malicious stuff; here, even if I trust markup.io, I still have to trust _others_ who are going to view my markup.

</comment></comment></comment><comment><USER4> Previous discussion (started by the developer): <http://news.ycombinator.com/item?id=1768345>

</comment><comment><USER5> The linked page seems to have trouble recognizing the arrow example. The others I can be a bit sloppy, but that one I have to really slow down and trace (or pretend trace since the guideline inexplicably disappears).

</comment><comment><USER6> This is great! If you are looking for a business idea, I'd be willing to pay a monthly subscription fee for a private version of this. As a developer, I'd use it for reporting bugs in web apps that I develop (and I'd encourage biz and product people within the organization to do the same).

<comment><USER7> We're planning (tentatively) on adding accounts, private MarkUps, and a few other features in the next version.

</comment></comment><comment><USER8> Yet to try it out, but really like the style you've chosen for your front page. Only thing, and it might be intentional, is the variety of ways you're presenting your mark. The mark is there in a circle, arrow-like shape, and something more like a banner (in the footer). If it's to demonstrate the shapes your system understands, that might need to be better explained. Otherwise, I'd just pick one shape and run with it.

</comment><comment><USER9> It's a great idea, <http://markup.io/v/36h50c6fcaee>, but sadly didn't work on the first page I tried (a blog alicious.com; <http://imgur.com/GYpKu.png>).

It needs an undo and an erase function IMO.

<comment><USER10> C-z

<comment><USER9> Cool, also like the auto-tidy on the arrows.

</comment></comment></comment><comment><USER11> Wow, I love this.

<http://markup.io/v/d3tjg1xn1eqx>

<comment><USER12> <http://markup.io/v/j0b9dta6v2cp>

</comment></comment><comment><USER13> Not an original idea but excellent execution and has potential to spread virally! I have put it to my bookmarklet and time will see if I use it for some tasks. At the moment I cannot think about any scenario that would be useful but I am sure there are plenty.

</comment><comment><USER14> Nice user engagement when u ask them to draw shapes, I was hooked right away.

<comment><USER14> my mono lisa, <http://markup.io/v/r7tj2gav5ds5>

</comment></comment><comment><USER15> Would be very cool if you could make it work on the iPad as well!

<comment><USER7> on its way!

</comment></comment><comment><USER16> love it. another one of those "damn, why didn't i make that" apps :D</comment>


Hating Americans and their Americanisms - <AUTHOR> http://languagelog.ldc.upenn.edu/nll/?p=3283

<comment><USER2> 14\. I caught myself saying "shopping cart" instead of shopping trolley today and was thoroughly disgusted with myself. I've never lived nor been to the US either. Graham Nicholson, Glasgow

if that ruins your day, welcome to #firstworldproblems.

</comment><comment><USER3> A fair number of these aren't even "American," they're just "incorrect." Claiming that mistakes like "I could care less" are American is like saying that the United States invented the failure to distinguish between "your" and "you're."

I don't think I've ever heard the phrase "That'll learn you" said in any seriousness outside of a Western movie.

<comment><USER4> Sound like something a Dutchman speaking English would say.

</comment></comment><comment><USER5> I have never, in my life, seen a more trivial and annoying list than this one:

<http://www.bbc.co.uk/news/magazine-14201796>

 _To "wait on" instead of "wait for" when you're not a waiter - once read a friend's comment about being in a station waiting on a train._

Seriously? And are these Americans:

<http://www.youtube.com/watch?v=4Z9hbf-IRig>

The whole list is like that.

<comment><USER6> That those things are trivial is kind of the point.

Becoming disproportionately angry about arbitrary linguistic differences is a treasured national pastime in the UK. It's due to our very particularly neurotic class consciousness, and it's quite difficult to explain. UK english is a minefield of shibboleths which we use to pigeonhole each other with startling efficiency.

It's explained better than I ever could by comedian David Mitchell in this short video:

[http://www.guardian.co.uk/commentisfree/video/2010/jun/10/la...](http://www.guardian.co.uk/commentisfree/video/2010/jun/10/language- wordsandlanguage)

And this one, which is more specifically about americanisms:

[http://www.guardian.co.uk/commentisfree/video/2010/may/20/la...](http://www.guardian.co.uk/commentisfree/video/2010/may/20/language- usa)

<comment><USER7> I think it's easier to explain than you think (and, for once, not at all due to the class system at all).

Britain has been under relentless cultural assault from the US for decades. It is no secret, and no surprise, that it was Friends that introduced "can I get a" to the UK. This trend has accelerated with the Internet, where all English speakers tend to move towards the ubiquitous American English.

Even something like programming acts as a vehicle for this. Try _colouring_ something _grey_ , for example.

Language is a very tangible, day-to-day way of asserting cultural independence. See how France used to sing Eurovision in French every year. Sadly, even they now sing songs in English.

This taps into a deep-seated concern in some of the British population that it will become a cultural 51st state. Certainly we identify more with the US than any of continental Europe. This is not necessarily unwarranted, but I think it unlikely. Even something as uniquely American as hip-hop was taken, adopted by young disadvantaged Londoners and transformed into grime instead. Britain's identity is formed by more than the media it consumes and it creates, but by the people who inhabit it.

FWIW, I really do hate "could care less" as it's literally the opposite of what meaning is trying to be conveyed. I've personally picked up "bathroom" over "toilet". I think it's a great euphemism, which is, in itself, a traditionally British thing to do.

<comment><USER6> _> Even something as uniquely American as hip-hop was taken, adopted by young disadvantaged Londoners and transformed into grime instead._

Actually, for years in the 80s the underground UK rap scene was dominated by british MCs rapping in fake west coast american accents. See: <http://www.youtube.com/watch?v=8h3Jd_PCrwQ>

Throughout the 80s and the early 90s there was an ever growing minority of MCs who rapped in english accents and mocked the imitators. A lot of this involved incorporating jamaican accents, which is a characteristic of the modern london accent generally. See: <http://www.youtube.com/watch?v=-ahFJmFcY98>

Eventually this became normal and most people have forgotten this earlier americanised stage.

</comment></comment></comment></comment><comment><USER8> That's what I like about America - not only do we not have this type of discussion, it doesn't even make sense here. (If you're tempted to reply "the US isn't America" you're proving my point!)

One area, though, where we have a similar rift is between "African American Vernacular English" and standard usage. There's unfortunately a large percentage, maybe a majority, that think there's something fundamentally wrong with AAVE.

</comment><comment><USER9> Someone has to say it: This Language Log post is taking the BBC article and itself way too seriously.

</comment><comment><USER10> I like the person who had the problem with the use of the word "biweekly". "Thou shall receiveth thy cheque fortnightly!" rolls off the tongue so much easier. I be diggin' that.

</comment><comment><USER11> Interesting observation about the French depiction of Americans in film. I've spent a lot of time in France and the UK, and I'm amazed (and depressed) with how pervasive the notion of French anti-americanism has become in the US. While there is certainly plenty of political tension, the personal hostility to Americans attributed to the French has been (just my experience) wildly overblown.

</comment><comment><USER12> If those phrases truly bother a person, then I would caution that person not to travel or go into a profession with its own lingo. People have different phrases and even words in different places. Yes, looking under the bonnet has a totally different meaning here.

I grew up on a reservation in the US and some of the phrases that stuck with me have their origin in the local language.

</comment><comment><USER13> Actually, I _do_ say "for cheap", as well as "for free".

</comment><comment><USER14> Wait, British people don't say "train station"?

<comment><USER6> We do. All the time. It's written on the signs and everything.

It is a well-worn running joke in the UK that the people who write in to the BBC are all eye-rollingly insane. I wouldn't take the list too seriously.

<comment><USER14> Whew. I was afraid the proper term was something like "locomotive concordry" and I'd been out of the loop all this time.

</comment></comment></comment><comment><USER15> It's a bitch being a former world power. Cheers!

<comment><USER16> Please look forward to discovering what it feels like : These things come and go in phases. China & India will most likely have their time in the sun within the next 500 years.

<comment><USER17> 500? China in 10-20 years.

<comment><USER16> Could be. But I wanted to have a period of time in which it was entirely plausible that the US may no longer have the largest empire. After all, England's empire came and went within the last 500 years.

</comment></comment></comment></comment><comment><USER18> two words: your guy's

as in, "see you at your guy's house".

Or is that just an Indiana thing?

</comment><comment><USER19> Most of the items were slang or examples of common bad grammar usage, hardly limited to Americans.</comment>


The Great Game - <AUTHOR> http://www.tbray.org/ongoing/When/201x/2010/07/30/Mobile-Market-Share <comment><USER2> The mobile market reminds me of biology at times rather than technology. Species are just as as hard to define as mobile devices are (an Ipad has all the trappings of a mobile phone except that you can't make calls with it) and the changes come and go faster than you can keep up with them.

Indeed, the numbers are big, very big. But so far most of the players (except for google, maybe) seem to be very busy to try to create a walled garden with as much lock-in as they can get away with.

That's a real pity, because 'mobile' to me should be synonymous with more freedom, and in many cases it seems to be synonymous with less. I think it should be more free because the big difference between a computer and a phone is just that the one has a bunch of wires and a size that hold it down and a phone does not.

Mobile phones are coming from an appliance background, not from a computer background and telcos have historically been some of the most anti-competitive entities out there.

So now you get these alliances between hardware manufacturers, media companies and telcos trying to place you, the user in their virtual restaurant where every dish costs you money by virtue of the easy way in which they can bill you (and make those charges stick).

Bandwidth gets sold at insane prices, phones are routinely crippled in both capabilities as well as connectivity, applications that are available for free on regular computers suddenly are available only for sale and so on.

I'm still holding out for that open source phone, the one that gives you all the freedom with none of the hassle, where the only thing you pay for is the bandwidth that you use (and a reasonable amount!).

There have been a few attempts in this direction but so far nobody has managed to really make a go of it. I really hope that the size of the market will attract someone bright enough and with deep enough pockets that the open source model will take hold permanently.

I know that Android attempts to fill that niche, and maybe it will succeed, but for now I think it is too beholden to Google to really succeed.

I'm more thinking along the lines of a bunch of maverick hackers that have no ties to any major corporation that will create a platform that is truly free and open.

Apple, RIM, Google, Microsoft, Nokia the telcos and so on they all probably have their own agenda and do not have the users best interest and/or freedom at heart. That should change.

Phones should be IP devices (IPV6), and all voice calls should be VOIP connections, also on the mobile networks. Why bother making a distinction between voice and data traffic, voice _is_ data. No more per minute fees, no government mandated encryption breaking, phones are powerful computers (more powerful than anything you could buy for ordinary money up to 5 years ago) so let's use them as such.

<comment><USER3> _I'm still holding out for that open source phone_

I too hope Openmoko will make it.

<http://www.openmoko.org>

<comment><USER2> I've looked at their phone and the hardware platform is too anaemic to be able to compete in todays market.

At a minimum they should add a camera and a GPS module, the openmoko phone would have been fantastic somewhere in the mid 90's.

<comment><USER4> Or perhaps they should aim at the non-smartphone market.

<comment><USER2> That's possible, but the 'hack-potential' of a non-smartphone is quite limited. Once a fully open sourced phone with that sort of gear on board hits the market I'm fairly sure that hackers would flock to it.

</comment></comment></comment></comment></comment><comment><USER5> Ignorant to think Android is remotely as big as iOS.

The numbers say Apple sells 230k iPhones ipads and iPods per day.

This compares to less than 100k droids per day.

If you are getting into the business, make your iPhone version first. We only get about 10% of our revenue from Droid.

</comment><comment><USER6> >[mobile providers] offer about the same service quality at about the same price

Not in my circle. I pay less than my AT&T friends and they bitch constantly about connection and service.

<comment><USER7> The U.S. (and for the most part, Canada) doesn't count. You have two main carriers and two also-ran carriers; two use CDMA, which is a dead-end, and the other two use GSM, which is not. Canada has three carriers, and two of them share a new GSM network (the third, Rogers, has been GSM for a decade).

In Europe, there are more carriers (2-3 per country) and lots more competition. As I said in a different comment, I paid €5 for a 3GB data plan for my iPad last month in Italy, whereas I would have to pay $35 for 5GB here in Canada.</comment></comment>


Project Betfair, part 3: backtesting an HFT market-making strategy for Betfair - <AUTHOR> https://kimonote.com/@mildbyte/project-betfair-part-3-1267/ <comment><USER2> Interesting approach do you have experience in HFT from outside Betfair?

My backtester, paper trader and live framework are one and the same, all in python, any reason for scala?

Also feel free to join us in using Betfairlightweight and the slack group:

[https://github.com/liampauling/betfair](https://github.com/liampauling/betfair)

<comment><AUTHOR> Thanks! My background is in slower trading, and on the tech side, so this was quite different for me.

No really good reason to use Scala, I thought the speed would help with market making + having static typing did catch some bugs before I ran it. OTOH I can see the benefit of running the same codebase for backtest or live trading.</comment></comment>


Things Android has that iOS Needs - <AUTHOR> http://brooksreview.net/2010/12/android-helping-ios/?isalt=0 <comment><USER2> >Oh man are notifications bad in iOS. What is really bad though are the meaningless icon badges that apps use. Gee thanks Twitter, but does that mean I have 2 new mentions, tweets, or DMs to read – oh and on which account?

>I say do away with all icon badges, and work on a system wide notification system that is informational to use, otherwise whats the point of notifying me? The push notification system sucks to, no way of dismissing the message when the screen is locked without getting sent straight to the App. Also have you ever had more than one of these pop-up because that is just the most helpful thing ever, isn't it?

So... the author basically wants the notification bar from Android?

>For the record Androids implementation sucks too.

I guess being a fanboy means you can't see that the competitor is doing EXACTLY what you want.

</comment><comment><USER3> iPhone supports tethering over bluetooth, no need to carry a usb cable. While bluetooth doesn't allow multiple clients as wifi does, it's more energy conservative (being a PAN, not LAN).

(I had Novatel MiFi, and it run out of battery in ~6 hours if you forgot to switch it off (happened regularly to me). Bluetooth connection automatically terminates when you eg. close your Macbook.)</comment>


Volume.gl – 3D Model from Single Image - <AUTHOR> https://volume.gl <comment><USER2> Shitty 3D is worse than 2D.

Source: I worked really hard to make 3D less shitty, and we failed at it, and went out of business.

<comment><USER3> That sounds interesting. What did you do and why do you think it failed?

<comment><USER2> We turned a bunch of 2D images into 3D models, for viewing online. Back in 2000.

It partially failed due to the dot com collapse sucking all the oxygen out of the room.

It also failed because the technology wasn't good enough, and the resulting 3D was, frankly, pretty shitty.

<comment><USER4> Photogrammetry seems to have advanced since then. Would you agree?

<comment><USER2> Yes.

But as impressive as creating this from a single image may be, the people viewing it won't care - the output is uselessly bad.

</comment></comment></comment></comment></comment><comment><USER5> Needs quite a bit of improvement. With the current quality, I don't see any possible application.

<comment><USER6> I agree. I am sure it would be pretty helpfull for models in the background though, which dont need to be perfect, just an approximation is usually enough. At the least its gonna look better than a billboarded image

<comment><USER7> If the application is gaming, I feel that if a prop is far enough away that this quality of model is acceptable, then you're better off just using a flat texture for efficiency. These generated 3D models aren't necessarily low-poly, despite being somewhat janky.

While I can't personally see much application for this in its current form, the technology is really impressive nonetheless. I'm very interested in seeing how far this can go.

<comment><USER8> It seems sort of unnecessary to do it from a single image. Just get a little motion of the camera (just a second) and you can get way better estimates for depth.

</comment></comment></comment></comment><comment><USER9> Having seen the state-of-the-art in action ([https://arxiv.org/abs/1607.00730](https://arxiv.org/abs/1607.00730)) I find the results pretty disappointing. Is there anything I miss?

<comment><USER8> This does seem pretty poor, I've never seen any results that were impressive from it, but in its defense any published results tend to pick images that work well.

</comment></comment><comment><USER10> This was a gear deal more impressive than I expected! I tried a couple of images and it got the depth very close on one and almost perfect on the other. It's weird to be able to change the perspective of an image of a place I know and it be as accurate as it is! Kudos.

<comment> white-flame I thought uploading classic POV-Ray renders would be easy fodder for it, with no noise, "perfect" lighting, simple shapes, and smooth surfaces. But it was pretty much garble for the heightfield.

<comment><USER11> They probably didn't train it on 3d renders. Training it on 3d renders would likely hurt its ability to handle real photos.

</comment></comment></comment><comment><USER12> Uploading my own images seems to be broken in Firefox 58.0.2.

<comment><USER13> It doesn't seem to work in Chrome either.

<comment><USER14> CORS Preflight errors in the console in Chrome

</comment></comment></comment><comment><USER15> wow [https://github.com/Volume-GL/Pulp-Fiction- ARKit](https://github.com/Volume-GL/Pulp-Fiction-ARKit)

</comment><comment><USER16> Reminds me on disneys research, where you take a single picture of your smile and get a full blown 3D teeth reconstruction.

[https://www.disneyresearch.com/publication/model-based- teeth...](https://www.disneyresearch.com/publication/model-based-teeth- reconstruction/)

</comment><comment><USER17> Once tech advances a bit further and we can quickly generate good 3d environments from movies, we will have so many great worlds to experience in VR - it will be amazing.

<comment><USER18> I think the first thing that will reveal is just how much detail is simply not there, or is inconsistent. E.g. consider the contortions that people often have to go through to make models of TV series sets fit the available facts because the series have not needed to pay perfect attention to room placement. Or how many rooms, or streets will simply be missing, or even walls of rooms because things are only ever shown from one angle.

It may make it easier to generate such environments, but it'll still require a huge amount of extrapolation.

</comment></comment><comment><USER19> Is there any library like this that can increase reconstruction accuracy with multiple cameras?

<comment><USER20> That's structure-through-motion and it's an older tech.

</comment></comment><comment> swagasaurus-rex Incredible. I sincerely believe advances in computer vision will be dependent on creating a 3d 'mental model' of imagery/video.

What happens when you give it images that fool people? For example the infamous Escher drawings.

</comment><comment><USER21> [https://airtightinteractive.com/demos/js/ruttetra/](https://airtightinteractive.com/demos/js/ruttetra/)</comment>


State of Clojure Survey 2019 Analysis - <AUTHOR> https://danielcompton.net/2019/02/06/clojure-survey-2019 <comment><USER2> I've said it before and I'll say it again, the industry can rip Clojure from my cold, dead hands. It's unfortunate that people in this thread seem to down on the language, but the only possible way I would stop using it is if I literally cannot earn income with it. It is by far the most pleasant language I've ever used, I feel at home writing it, and it improves the quality of my work.

<comment><USER3> I am not disagreeing nor challenging you; I'm happy you like it and I think you should keep using it since you enjoy it so much. My question is: Wouldn't the same be said by most programmers with a high degree of proficiency with a language? What sets Clojure apart from Haskell or Scala or Elixir or Erlang? Do you have a high degree of proficiency with something else?

Clojure is the language that I have always wanted to learn, but the benefits never seemed very apparent. I'm hoping your response will make them clear.

<comment><USER2> Some experienced devs might say the same thing if they've also found a language that just clicks with them as I have.

Clojure is a locus of things I really, really like and I have no reason to change despite the recent FUD around it. Namely: Lispiness, dynamic typing, functional programing, immutability, lean pragmatic design, and it runs on the JVM. I haven't seen anything that compares to it in these regards that also has the community support that Clojure has (great projects like Leiningen, Lacinia, and so on).

I've tried Haskell but felt I was fighting the compiler due to the static typing (I hate static typing). It also felt like it was designed for eggheads and not people like me just doing a job. Scala feels like it doesn't know what it wants to be when it grows up. Elixir and Erlang are neat but I haven't had a chance to really try them out, but Elixir's choice to emulate Ruby-like syntax is unfortunate.

That said, I do have a high degree of proficiency with Python, which shares dynamic typing and kinda-functional programming with Clojure. Python was my language of choice for years before I finally gave Clojure a try, and I haven't really looked back. The poor handling of the Python 3 switch really soured me to Python.

I also did a good chunk of Go, but the static typing and syntax weirdness just killed it for me. Amusingly, Go seems to have a similar "ivory tower" approach to language design to Clojure - which indicates that type of management isn't really a problem for me.

<comment><USER4> My question for you would be, why Clojure over, say, Racket? Is it just the JVM?

I personally prefer Racket because of the ease with which you can use it to hack on itself. Macros are no stranger to LISPs, but Racket goes beyond by having the entire system around it built to accommodate language design and modification.

Want to use dynamic typing? Just use #lang racket. Want to use static type checking? Use #lang typed/racket. Reactive programming is there with #lang frtime. And that's before we even consider things like Scribble.

As an aside, I totally agree with you on Elixir. Erlang is wonderful for what it's built for. Elixir's choice to use Ruby syntax, however, ruins Elixir for me -- and it's not because I hate Ruby. I actually like Ruby a fair deal. Instead, it's because using Ruby syntax makes it more difficult (for me) to truly and fully _think_ in the paradigm. Erlang/Elixir are _nothing_ like Ruby. Making the syntax Ruby-like just obfuscates what's actually going on in the system. (I find similar issues whenever I try to program using imperative chunks in, say, F# or Scala.) Just my two cents.

<comment><USER2> The answer is just that I haven't gotten around to trying Racket. I've eyed it now and then but I've never done anything serious with it. It does seem to be the closest match for me barring Clojure.

That said, the JVM is a huge part of why I like Clojure. Because of the mountains of corporate code written in Java there is an insane amount of pretty high quality (if extremely object oriented) code available for it. I can find a library for basically any third party tool I'd want to use and if someone hasn't written a Clojure wrapper for it yet I can whip one up pretty quickly most of the time.

<comment><USER5> And sometimes I can do fine with no wrapper at all. Not only there's a lot of JVM code available, but interfacing with it is pretty quick, straightforward and smooth compared to wrapping C (or, god forbid, C++) from any Scheme I tried. I found that's very important. You can have lots of code theoretically available for wrapping, but there's more of an impedance mismatch between C and Scheme (think continuations/TCO, garbage collection, type conversion, and the fact that some tools in Racket/Scheme ecosystems will be blind to what happens in C land) so in practice it's a lot more work.

</comment></comment></comment></comment></comment></comment><comment><USER6> Okay, here's my take on the implicit narrative here: Clojure is done. It will continue to improve, people will continue to use it and build cool things with it, but maintainers are burnt out, mostly because there aren't enough of them and partly because of the passive-aggressive relationship Cognitect has with the community.

There's a whole bunch of languages with small dedicated communities doing interesting stuff. D and Julia occur to me off the top of my head. It's not "failure" that Clojure doesn't really challenge Kotlin or Scala for mindshare. It's nonetheless disappointing for people like me who used to be really excited by Clojure's potential.

Could it have been different? I don't know. The powers that be could definitely have been more committed to growing the base, but it never seems to have interested them. Would it have made a difference? I honestly don't know.

<comment><USER7> The trend of programming languages is to move toward static typing. Not as an afterthought, with gradual typing or retrofitted years later into an unwilling compiler, but languages designed from day one with static typing, parametric polymorphism, and type inference.

Clojure's life time was limited from day one because it's simply going against the trend.

<comment><USER8> Because python or Javascript aren't a thing?

<comment><USER7> This is a similar straw man to someone claiming the trend of cars is clearly going electric and you saying "I doubt it, look at all these gas propelled cars we have today".

Python and Javascript are going to be around for a while, sure, but 1) they are also moving toward static type safety and 2) fewer and fewer projects will be started in these languages because statically typed alternatives are a better choice across the board.

<comment><USER8> Define strawman:

"an intentionally misrepresented proposition that is set up because it is easier to defeat than an opponent's real argument."

The parent poster stated that clojures days were numbered because in his opinion statically typed languages were becoming increasingly popular and Clojure didn't follow this trend.

I specifically mentioned JavaScript and python because people have been extolling the virtues of static typing literally before either shipped, while both rose to prominence, and became wildly popular. I'm arguing that neither posters personal preference nor even a correctly assessed trend in computer language design is by itself a useful tool to predict the future success of a given language.

This especially rings false when the same prediction is made several decades in a row.

I wont even address your analogy because analogies are like buttholes. Everyone has one and yours stink.

</comment></comment></comment></comment></comment><comment><USER9> Tempting to interpret this as the last major issue in Clojure use (error messages) being resolved with the introduction of spec. Consensus on concerns seem to be dissolving away from runtime issues to softer community management issues ("documentation", which is very context specific, and "startup time" which is important but precisely not an issue while running Clojure).

I do suspect that the survey is under-weighting how much beginners must struggle to navigate setting up CLASSPATH. If you don't come to Clojure from Java then the toolchain is a bit intimidating with whatever a Maven is, followed by a process of trying to follow what both Java and Clojure tools are doing. This is one area Clojure compares very poorly with, eg, C (similarly awful setup process, but usually all the burden is shouldered by the distribution provider) or Python (use pip).

It is interesting coming at Clojure from a Debian background at how resistant Leiningen has been to being integrated into the Debian apt archive. I think the package was removed in 2014 and only came back in 2018; so still isn't in the most recent stable. Given that Leiningen is itself probably the first choice of tool to manage dependencies, this raises questions about the technical underbelly of the tools used to build Clojure programs.

<comment><USER10> > I do suspect that the survey is under-weighting how much beginners must > struggle to navigate setting up CLASSPATH. If you don't come to Clojure from > Java then the toolchain is a bit intimidating with whatever a Maven is, > followed by a process of trying to follow what both Java and Clojure tools > are doing. This is one area Clojure compares very poorly with, eg, C > (similarly awful setup process, but usually all the burden is shouldered by > the distribution provider) or Python (use pip).

The Clojure answer is similar to the python one: use lein. This basically solves all classpath issues. In the 3 years I used Clojure professionally, there were only small handful of times I had to deal with the classpath directly, and that was only for pretty exotic packaging issues.

> It is interesting coming at Clojure from a Debian background at how > resistant Leiningen has been to being integrated into the Debian apt > archive. I think the package was removed in 2014 and only came back in 2018; > so still isn't in the most recent stable. Given that Leiningen is itself > probably the first choice of tool to manage dependencies, this raises > questions about the technical underbelly of the tools used to build Clojure > programs.

What questions does it raise? Debian doesn't deal gracefully with _any_ external dependency management systems, as far as I know.

<comment><USER9> > The Clojure answer is similar to the python one: use lein. This basically > solves all classpath issues.

Most of them. I struggled a lot with the specific case of "I have jogl installed through apt and I want to use it in a Clojure lein setup".

> In the 3 years I used Clojure professionally

That is why I think the issue is underappreciated. Java provides a very comprehensive set of concepts to deal with making Java code run everywhere, and that sort of thing is just baggage when trying to learn a language as an amateur on one system. I expect it becomes a feature when something needs to be done professionally and platform is no longer a given.

> What questions does it raise?

* In a language that requires a lot of probably-new mental models to understand, how much extra burden is created if mistakes are made configuring dependency management?

* Can a novice successfully identify what is going wrong if they muck up their dependencies in a 3rd party tool?

* Will a novice identify that they should be using a 3rd party tool to manage their dependencies, rather than relying on other mechanisms that might be familiar to them?

* Is the hosted nature of Clojure creating interesting new failure modes for novices in the build system as issues might now straddle two languages?

These aren't questions that a professional would encounter, I expect being across complicated build systems is sort of how things are. But the leap from pure Clojure, having fun in the repl, to pure Clojure + a library is a very steep learning curve. The quality of the project setup has to go up a long way. At the moment, based purely on that learning curve, it must be one of the early barriers that causes beginners to drop the language. I'm surprised it doesn't get mentioned in the survey.

Watching Rich's talks, I always got the impression that dependencies in general are an outstanding to-be-thought-about problem.

> Debian doesn't deal gracefully with any external dependency management > systems, as far as I know.

External dependency management systems fail to meet Debian user's expectations of quality and stability, tyvm :). Yeah, you're right.

<comment><USER10> I've struggled with jogl as well. Clojure being hosted is a definitely a double-edged sword; while it makes it possible to use something like jogl, actually doing so can require you know something (or a lot of things) about the underlying platform.

The questions you raise here are real issues. I've been able to scaffold things for newcomers to the language in the past, but I can easily imagine how they could go off the rails without some guidance. I believe that the new "deps.edn" mechanism is meant to be the official, paved path for dependency and platform interaction in the future. But until everybody is using it, there will be two ways of doing things and the confusions that goes with having a choice. Perhaps it's necessary to move the platform forward.

</comment></comment></comment></comment><comment><USER11> This was an interesting tidbit as well from another analysis [1]:

This year's survey also included a question about how long people had been programming professionally. 1 in 10 Clojure users have over 20+ years of developing experience; 49% had over 10+ years of experience. In comparison, only 42% of JVM developers have that much programming experience.

Clojure having a higher than average percentage of experienced developers directly contributes to the quality of the language and the ecosystem around it.

[1] [https://jaxenter.com/clojure-2019-java-8-functional-155236.h...](https://jaxenter.com/clojure-2019-java-8-functional-155236.html)

<comment><USER12> Percentages don't create software, people do. Absolute numbers are definitely more important for ecosystems. I'd wager that for every 1 clojure dev with 20+ years experience, Java has 100.

I'd always consider language power to be an amplifier of experience...a 20+ year veteran that knows clojure like the back of his hand is going to be more productive than a java dev of similar experience. But the community size gap is huge. I deal with this as a scala programmer quite a bit. The ecosystem is pretty great for how small it is, but it's never going to be as good as java devs have it.

<comment><USER11> You can directly leverage everything from Java and Js ecosystems with Clojure. So, I'm not sure I follow the argument here. If a useful library comes out, I can still use it from Clojure while enjoying the benefits of a much better language.

<comment><USER13> _You_ were the one to make the comparison to other JVM developers. Not sure why you would make the comparison if your whole point was that you can use both.

Of course that point is spurious at best. Clojure devs can use java libraries about as well as java devs can use C libraries: it's an unidiomatic nightmare with tons of unsafe sharp edges. And java devs can even use clojure libraries, but they don't and probably never will. Using java libs from scala is a hell of a lot easier than using them from java, but I still avoid them like the plague. If we're comparing the relative merits of ecosystems for different languages, it makes sense to compare the ecosystems developed natively in that language, not lumping in the thousands of other ecosystems that _technically_ can interop with it.

My point is that the clojure ecosystem is weak in comparison to other more popular languages because experience in absolute quantities matter far more than percentages. The Arc ecosystem basically consists of a single 20+ year veteran, Paul Graham. That's 100% veteran composition. According to your line of argument, they surely must have the world's greatest programming language ecosystem. Does it?

At best, the clojure ecosystem can claim to be good enough for most uses. That's certainly a lot better than the vast majority of languages. I'd be overjoyed if SML, Pony, MiniZinc, or Mercury had the ecosystem that clojure enjoys. But compared to Javascript, Java, Python, C++, C, Javascript, Swift, Ruby, etc., it's not even close.

<comment><USER11> Clojure was designed to be a hosted language from the start, and it embraces the underlying ecosystem. There are plenty of Clojure libraries that use Java libraries internally and provide an idiomatic API. Having a mature ecosystem to lean on is just practical. For example, take a look at Apache MX Net bindings, HTTP Kit, clj-http, clj-pdf, and so on. All these libraries leverage the host ecosystem. There's absolutely no value in reinventing the wheel here. And the interop nightmare you're imagining simply doesn't exist in practice.

>My point is that the clojure ecosystem is weak in comparison to other more popular languages because experience in absolute quantities matter far more than percentages.

And yet in 8 years of working with Clojure I have yet to run into a situation where the ecosystem failed me.

>But compared to Javascript, Java, Python, C++, C, Javascript, Swift, Ruby, etc., it's not even close.

And Clojure leverages both Java and Javascript ecosystems directly. The whole ClojureScript ecosystem is based around React. When you write web apps you build them on top of React components, and other Js libraries. And this is how seamless interop is:

[https://github.com/yogthos/semantic-ui- example/blob/master/s...](https://github.com/yogthos/semantic-ui- example/blob/master/src/semantic_ui_example/core.cljs)

The ecosystem is not an interesting problem to solve. Interesting things are happening in the code you write. The business logic of your application is where the language matters. Even when interop is unsafe you're doing it at the edges of the application, and you treat it the same way as you would any side effect.

</comment></comment></comment></comment></comment><comment><USER14> Clojure is not only simple and thoughtfully designed/composed from first principles it also is pragmatic (!) and reaches (JavaScript, JVM, CLR, …).

The power and joy derived from the above is incredible and (to many) even more important: it means Clojure is not sitting idly in its own ivory tower it plays very well with real world day to day situations.

Try to find languages that see eye to eye with Clojure here.

I'm super excited about the language and the welcoming community. Also super fascinating to see how so many community efforts are composing and compounding so well. I wish other languages / communities would look more closely and adopt some (more) of it.

A bit confused with some of the comments here but then again YMMV and just wanted to jot some of my thoughts down before I transition into some late- night recreational coding that I was looking forward to the whole day. < 3 Clojure

</comment><comment><USER15> Here's data on Clojure searches: [https://trends.google.com/trends/explore?date=all&geo=US&q=c...](https://trends.google.com/trends/explore?date=all&geo=US&q=clojure)

Based on some of the comments in the thread I see there is some veracity to the claim that interest in Clojure is leveling off or declining. However, it has been my experience that the community embraced Clojure around 2013-14 to the point of "irrational exuberance". The reality that the ecosystem is full of under-engaged projects and dead ends really set in for me after I went to Clojure / West in 2014 and saw several demos break on stage.

I want to use Clojure at work, but I'm just not productive in it yet as other languages and I haven't found the time to build momentum with it. That said, I still _want_ to get there.

</comment><comment><USER16> Every time something Clojure related appears in HN top - there are a bunch of comments criticizing the language and most of them are so unfounded.

You'd start reading and even before finishing a second sentence you'd realize - the person has no clue what they're talking about. Listen, Clojure is not a small language like Lua - you probably won't be able to form an educated opinion about it by trying to build something simple over a weekend.

People would say the hate JVM, when they actually mean "Java". In 3 years of using Clojure I almost never had to even read Java code. They'd dismiss the language immediately because it is not statically typed. If you think maintainers of the language have no clue about type theory and completely unaware of all the research of recent years happening in Racket, Haskell, Julia, Agda and Idris - you are very wrong. Things you can do with clojure.spec are absolutely mind-blowing.

If you claim that it's hard to find a Clojure job - that's not true. It is not harder than finding a job in Scala, OCaml, Erlang, Haskell or F#. If you've forced yourself to "love" Javascript, Python, Java or Typescript simply because they can guarantee an employment - I'm truly sorry for you. Sometimes I think people must be either crazy or completely ignorant - who in the right mind would choose JSX over Hiccup and Json over EDN?

If you claim that it is hard to hire Clojure developers - that not true either, you simply need to be ready to pay more. People come to Clojure out of curiosity - not for dogma, not for points in résumé. Clojuristas are usually more experienced devs, tired of all the bullshit that inevitably gets accumulated overtime in almost every language. Clojure(script) is not a silver bullet either. But in most-cases it simply makes sense and it just works.

</comment><comment><USER17> I don't hear as much about Clojure these days, and I don't know if it's because my reading habits have changed or if the community has become quieter. My impression was that other languages have captured the zeitgeist and that the enthusiasm for Clojure has abated. I could be wrong though.

<comment><USER18> It surely changed, I remember how every clojure conj was a source of enlightenement. Reducers, Transducers .. Many Hickey talks were iconic(sic). Now it's not as trendy.. even clojure 1.10 felt ~meh in a way. But taking a bit of distance I thought .. it's better than having people changing the language every 6monthes leading to js fatigue like symptoms. Slow is good. It seems that clojure users are happy with what it is now.

<comment><USER19> Clojure 1.10 targeted the #1 most irritating and requested fix to Clojure: Error messages.

It's not exciting if you're not a Clojurist, but if you are then 1.10 was one of the coolest releases recently.

It doesn't make for the best headlines or hypest hype: "Clojure improves on something people hated about it."

<comment><USER18> Yes, agreed. It's not ~new alien abstraction to make shiny things~ RELEASE.md but it's indeed very useful (especially on a VM hosted language)

</comment></comment></comment></comment><comment><USER20> I've tinkered with Clojure and find it a really refreshing paradigm to work in for building web services. However, I'm not sure I'd ever use it for something serious - it's a hard sell to management, and it's difficult to get developers on board to try something radically different compared to the imperative/OO programming models. Regardless, having played with it has changed my perception of how code ought to be structured and written. Thanks to Cognitect and the Clojure team!

<comment><USER21> I would dearly love to use Clojure more professionally but the problem in every country I've worked has always been the talent pool; I struggle to hire because Clojure devs are comparatively much harder to find. Clojure is a wonderful language and I was firmly on the hype-train back in 2011 or so but I'm not convinced it has much of a future outside its current niche. I would be very happy to be proven wrong though!

I had a similar epiphany to you in that coming from a Python background, Clojure radically changed how I thought about and approached problems. Rich Hickey's work is fantastic and I'm very happy to have spent time in that particular corner of the tech world.

<comment><USER22> Clojure is easy to teach. Why not just hire good devs and teach them Clojure? I think people overlook this too often.

<comment><USER23> The reason why Clojure is easy to teach on the job is that Clojure code base is small and code are very localized.

It's impossible to be productive in a large Java code base within a month even if you joined as a seasoned Java developer. But it is routine for a programmer who has not even heard of Clojure before to become productive in a production Clojure code base in two weeks. We do this all the time with our interns.

</comment></comment></comment></comment><comment><USER24> re: community

I hope we move on from Slack as a community hub. It's not about searchability -- it's totally unsuitable for public/open communities. If you've been in there recently you probably know what I mean -- it's vulnerable to griefing in a way that, to my understanding, Slack is not interested in fixing.

<comment><USER22> I find the Clojure Slack to be a great and helpful community. There are certainly plenty of other Clojure chat systems on Zulip, ClojureVerse, etc.

<comment><USER24> [edit: original parent said "no idea what you mean" \- just noting b/c my response only makes sense to that, not b/c offended by it or anything]

spoofing identities (or, I guess, making sockpuppet ones) to @-everyone and post porn gifs & racial slurs from slackbot in #clojure

\--

Yes, the Clojure community is awesome! I only mean that Slack has problems that allow malicious people to spoil the fun. I don't know if it's been addressed. I logged out the last time it happened.

</comment></comment></comment><comment><USER25> The repeated message from the authors is that clojure.core docstrings are not gonna improve.

If you think it's an easy problem to solve, please point out a single resource (library, website) which is 100% high-quality, comprehensive, up-to-date, IDE- integrated, and noncontroversial. Where is it? Why haven't we all adopted it?

The facts are: we have good-enough docs, nREPL, a _massive_ corpus of beginner material (books, videos) and real-time support from enthusiasts on Slack.

If you ain't clojuring, it's because you don't want to!

<comment><USER19> I don't think that anyone believes that it's an easy problem to solve, but it IS a problem.

I've been Clojuring since 1.0, contributed 100s of examples to Clojure docs websites, and I still don't understand some of the .core docstrings even when I know exactly how to use the function.

It may not be easy to solve, but it does need to be solved.

<comment><USER22> Have you filed CLJ jira tickets about those docstrings? If not, then we are not able to hear your concerns. We fix and improve a bunch of docstrings in every release: [https://dev.clojure.org/jira/secure/IssueNavigator.jspa?rese...](https://dev.clojure.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project%3DCLJ+and+status%3DClosed+and+approval%3DOk+and+labels%3Ddocstring+order+by+fixVersion+desc)

Have you filed documentation issues on the Clojure web site? If not, we don't know what needs to be improved. We have closed 100s of PRs and issues on the site in the last couple years: [https://github.com/clojure/clojure- site/issues?utf8=%E2%9C%9...](https://github.com/clojure/clojure- site/issues?utf8=%E2%9C%93&q=is%3Aclosed)

<comment><USER26> I'd like to highlight an issue with the docstrings as they stand. It has been stated by Rich himself on Jira that he doesn't like or want usage examples in docstrings. However, it would seem that many other people would love to see exactly that; myself included.

He made this clear a few years ago - I don't know if he has changed his mind since?

This would probably help beginners more than anybody else.

<comment><USER22> docstrings are intended to be a concise statement of what the function does and we would like to stick with that.

Examples are also great. We would love to have documentation pages (or even doc functions in the repl) that combine multiple sources of information to help you out (docstrings, examples, see alsos, etc). That stuff does not have to be "in the docstring" for it to be available to you as a user.

For example, clojuredocs.org does exactly this, combining multiple sources of information into one combined page (ex: [http://clojuredocs.org/clojure.core/zipmap](http://clojuredocs.org/clojure.core/zipmap)). There used to be an api for clojuredocs.org and a repl lib you could use that would give you an additional function to get those examples at the repl too (I think that fell out of maintenance).

The summary is, we can both have docstrings that don't include examples AND provide examples by merging docstrings with other things for the user.

<comment><USER26> Thanks for explaining the rationale, as well as future hopes and plans for documentation.

</comment></comment></comment></comment></comment></comment><comment><USER27> What's the story on clojure and compile-time type safety ?

I've asked a clojure dev the other day about it and he told me this was experimental and not very common.

<comment><USER28> It's a dynamic language, if you must have static typing over Clojure it's not for you. (You can of course do a lot of other things at compile time via macros)</comment></comment>


CreativeTribes.co – The #CreativeTribes Community on Slack - <AUTHOR> http://creativetribes.co/

<comment><AUTHOR> Are you an early adopter, a creative innovator? A tribe builder? The #CreativeTribes community is all about helping you to find, connect with, and grow your tribe — no matter your particular niche, profession or creative endeavor. No longer must you tribe build alone! Early members can join for free.

We've just launched today via the following blog post, entitled "CreativeTribes.co and the #CreativeTribes Community on Slack — Now Launched!": [http://creativethunder.co/creativetribes-co- creativetribes-c...](http://creativethunder.co/creativetribes-co- creativetribes-community-on-slack-now-launched/)

We'd love to get your thoughts as to how we can optimize this global community for all members.

Thank you,

Sean \-- Sean M. Madden, Co-Founder & CEO, CreativeThunder.co / CreativeTribes.co, Email: email@example.com</comment>