> "Another point: tagging. I don't have to constantly check Instagram to make sure I wasn't tagged in any awkward or bad photos. That’s because you can't see them on my profile, making the whole experience seem way more private."
The fourth tab on every Instagram profile allows you to see just this...
You may have missed the point. Sending them to DDG is OK because the user _intended to send them to DDG_. That was the entire purpose of the user's searching experience to begin with. Apple being strung into it is different - the user doesn't need Apple's involvement to complete the search.
DuckDuckGo Search Suggestions and Spotlight Search Suggestions are separate features in Safari. Either can be enabled or disabled by the user in the Safari settings.
TF–IDF ranking doesn't seem to be too complex a thing to implement. Maybe this is an opportunity for someone here to contribute to the open source project.
For anyone who's interested in Erlang (or functional programming in general) but thinks it looks a bit daunting, check out Elixir.
It's a new language which has just turned 1.0, has Ruby/Python like syntax and runs on the Erlang OTP VM (kind of like how clojure runs on the JVM). This gives you all of the amazing concurrent power which has helped the Heroku guys here.
For anyone who's interested in Elixir (or functional programming in general) but thinks it looks a bit daunting, check out Erlang.
It's a stable production language which has just turned 17.3, has extensive resources, and runs on its own VM (kind of like how Java runs on the JVM). This gives you all of the amazing concurrent power which has helped the Heroku guys here.
The reason I'm promoting elixir instead is because I feel that it's easier to pick up in terms of how different it is from imperative and OO languages.
While you are right in how Erlang has a much longer reputation, it's odd though how it hasn't gained much popularity like other languages that have been around for that long.
Three things that make the experience of developing in Elixir completely different from Erlang: Tooling, libraries, and actual language features (that aren't just skip deep).
Spend 5 minutes developing an app in Elixir and you'll realize why it's not just "only syntactically different" from Erlang.
Yes, but Elixir gives you some awesome things (on top of everything available in Erlang obviously) - macros, Ecto (LINQ for Postgres) and pipe operator are my top 3.
NB: I don't use it at work or anything, just read up on it during free time.
As an elixir programmer who loves erlang, programming elixir is programming erlang (compiles down to the same thing). It makes some things a lot easier than they are in erlang- a lot- and syntax is just one of them.
But the really are, in a fundamental way, the same "language".
Elixir is just a lot easier for newbies, and rubyists.
I think it's prettier and more fun, which is why I choose it, but I switch to erlang when needed, and regularly use erlang libraries in my elixir projects.
When two languages have different scoping rules, they don't have the same semantics.
When two languages differ in their opinion about macros, they don't have the same semantics.
When two languages have different semantics, they are different languages.
And finally, when two languages have fundamentally different syntaxes, the idioms promoted by their creators differ, and thus problems are solved in different ways.
Erlang and Elixir aren't the same language, but they do share a pretty unique architecture in OTP. When people talk about "the advantages of Erlang" they're frequently really talking about OTP (that, or BEAM's reduction-counting ISA.) So people think it's Erlang that gives you those advantages.
Of course, it's not; any language that targets BEAM could pick up those advantages "for free", in the same way Clojure gets a bunch of Java libraries "for free." But people compare programming languages, not abstract machines or library ecosystems. If you treat Erlang and Elixir as black boxes, hiding BEAM and the OTP (the way someone who doesn't know either language would), then they seem to be much more similar to one-another than any other language is to either of them.
I wouldn't call it "scoping" difference, although I can see why one would think about it as such. It would be a real scoping issue if you could assign variables in outer scopes from inside the nested scopes. Can you?
> what I mentioned is still different scoping rules
You're probably right, I don't want to argue about terminology.
What do you mean by "scare quotes"? Honest question: English is my second language and I'm not very good with it.
> You can.
You're wrong. Here, take a look:
iex(4)> f = fn() -> a = 0; (fn()->a=9 end).(); a end
#Function<20.80484245/0 in :erl_eval.expr/5>
iex(5)> f.()
0
f.() should evaluate to 9 if what you said was true. Either there's a special syntax for doing this in Elixir (like nonlocal in Python 3) or it's absent, and then the scoping rules are the same in Elixir and Erlang, with a bit of syntactic sugar for SSA transformation, which you need to do by hand in Erlang.
Again, I'm not Elixir programmer, so this is a honest question: is there some special syntax which would make the example above produce 9? I doubt it very much because it wouldn't fit very well with BEAM, but everything is possible and I'd be glad to learn about another nice feature of Elixir.
You introduced a closure there. Bindings set in if, case, receive, etc will spill in their surrounding environment. Obviously they won't spill outside closures without mutable terms, which BEAM lacks.
The bits about SSA transformation needed to be done by hand in Erlang are a bit fun, because that's considered a feature in the Erlang realm.
The scoping rules aren't the same for the very reason you dismiss as an implementation detail.
> The scoping rules aren't the same for the very reason you dismiss as an implementation detail.
Ok, this means that I need to learn some more about how scoping rules are defined and described, because apparently my current understanding is incompatible with the common one. That happens all the time if you're self-taught like me, so I simply accept this.
Thanks for discussion and the "scare quotes" term :)
I don't think it's really an equivalent tool.
As I understood, the main point is the real-time analysis of the microphone input. Spek seems to only analyze a « static » sound file (same for SoX and Audacity if I'm correct).
> AFA has been listed as a hate group by the Southern Poverty Law Center (SPLC) as of November 2010 for the "propagation of known falsehoods" and the use of "demonizing propaganda" against LGBT people.
The fourth tab on every Instagram profile allows you to see just this...