skysight-inc/HackerNews huggingface dataset:
>It makes me wonder if the "microservice" part of it was necessary. What if they had produced "microlibraries" rather than "microservices?"

So the OP did discuss considering micro-libraries (perhaps via Rails engines), but they decided not to.

> We discussed using Rails engines and various other tools to implement this... At the deployment side, we would need to make sure that a feature can be deployed in isolation. Pushing a change to module to production should not require a new deployment of unrelated modules, and if such deployment went bad and production was broken the only feature impacted should be the one that suffered the change...

It goes on a bit. I think the reasons against this approach for them aren't entirely clear in the discussion, it would be good to hear more.

Although as a Rails dev myself, this one rings true:

> The code had suffered a lot during the past few years, tech debt everywhere. Besides the mess we made ourselves, we still had to update it from Rails 2.x to 3, and this is a big migration effort in itself

The ability to migrate from Rails 2 to 3 one service at a time is actually a pretty huge benefit, since that migration was monstrous. This is probably generalizable.

One other thing their ultimate microservice approach got them was the ability to write different services in different languages, and thus gradually transition to clojure/scala. I don't know if that was part of the original analysis; or if everyone would consider this a benefit. :) But it worked out for them.

Lately the reason microservices are a _pain_ is pretty clear to me; it is good to get an essay like the OP grounded in very specific experience on how microservices worked out very well for them. It does seem to make sense by the end. As the OP also says at the beginning, this is as much for organizational reasons as technical reasons. I suspect you need a fairly large team, where the microservices can be divided up amongst different developers, as in OP, before the benefits can start to outweigh the costs.
https://en.wikipedia.org/wiki/LevelDB#History
Top Specification Formats for REST APIs
Pokémon GO
Not just banks. All their clients across the world too. Bloomberg is the "latin" of finance.
I think you're right, though I definitely think they're a tech company as well. It's just that they don't really have to compete on user-facing technology.
It's also worth pointing out that using Flocker, you are able to use other orchestration frameworks (such as Marathon). As a disclaimer - I work for ClusterHQ who make Flocker
RAML – RESTful API modeling language
BBG's competitive advantage is not data - in fact, it's pretty mediocre. Any reasonably large player sources their own data feeds due to too many holes in the former.

BBG's killer features are support and _chat_ - chat with other _trusted_ counterparties who also paid the admission price.
Oh yeah 100% agree with you!

I think the solution is "activism" but most people don't actually know what it means. (We associate it with screaming people or individual actions.) It's just about solidarity: teamwork. People learn how to act in teams under a boss. But not the arts of self-organizing, consensus [1], how to treat your teammates with respect [2], sharing knowledge/confidence to both lead & follow, etc.

[1] Starhawk writes good books on consensus meetings.

[2] Respect's often ridiculed as "political correctness": not using slurs; remembering that not everyone can afford a nice laptop; certain things can suddenly trigger painful memories and therefore create obstacles to lucid decisionmaking; etc.
Flavor (as well as texture and aroma) is the whole point of cooking (otherwise, Soylent). Formatting is not the point of programming.
No incumbent advantages? Not even an advantage associated with the reduced financial risk of operating a money-making business in the space? No name recognition? No established working relationships between Sales and Important Customers? No firm-specific human capital in the form of all the little things their employees know about how business in this sector works?
That's because it is old
13 Interesting Back to School Facts
I am more concerned with the scientific racism (https://en.wikipedia.org/wiki/Scientific_racism#United_State...) emanating from that post.
Are we by any chance both South African and trying to lecture each other about South African culture?
It seems like you're purposely misunderstanding the point of the article to fit your worldview. This is less about about the new hip things the kids want and more about running a business.

Do you know FORTRAN? Do you know any programmers who know FORTRAN? Do you know anyone who wants to learn FORTRAN? Unless you're in the community the answer to all of those is no. And I can't imagine it's a big or growing community. The obvious consequence of this is FORTRAN will become more and more expensive to run a business on as time goes by because fewer and fewer people will have experience with it or any desire to use it. It's going to be harder to find people to port it and even harder to find people to maintain it.

That's why it's a problem.
True for market data - exchange feeds will always be better. They are good on historical data and reference data though.
As with previous presentations, the author has struck educational gold so to speak.
Any tips for when the user definitely know it's your product? I can't think of anything besides starting with butchering some aspect of it. Then again that might trigger some empathetic response, and end with even less actionable feedback.
I recently found out that piwik also uses a login token of the MD5 of the password[0]. So this mistake is still very prevalent.

If you want to provide a one-click automatic login to Piwik for your users, you can use the ‘logme’ mechanism, and pass their login & the md5 string of their password in the URL parameters:

https://stats.example.org/index.php?module=Login&action=logm...

[0] - http://piwik.org/faq/how-to/#faq_30
> Not so easy to upgrade the infrastructure (transit and otherwise) to handle 4-5 times as many people living in (and traveling out of and back into) the city, OTOH.

Actually, this is the part where cities shine: infrastructure costs in cities are lower per-person than they are in suburbs. It's much more efficient to have a dense enough city that people can reasonably get around on foot or bike, for instance, than a suburb that requires driving everywhere. It puts way less wear and tear on the roads and requires fewer of them.

The suburban cul-de-sac generates traffic by making everyone take the same big roads. Cities can redirect traffic in any number of ways given a well-connected road network. With a mix of uses the need for heavy infrastructure decreases, as many trips that might in the suburbs require a car merely require a body healthy enough to move. Less driving can actually save lives, given how dangerous driving is. And those who drive in cities are probably less likely to die, given that speeds are much lower.

In large cities, transit becomes more efficient than building highways. For example, the DC Metro just got an expansion for ~$3 billion. Meanwhile, a single highway interchange in Virginia was redone with a cost of $.25 billion. A railroad can move way more people than 12 interchanges.

> And if you do that, best case, you've got 4-5 times as many people living in the city, at similar costs, in smaller living spaces. Where's the gain?

You've got lower infrastructure costs per-person than if 1x the people lived in the city and the other 3x-4x people lived in the suburbs, ultimately saving money. A lot of suburbs are long-term financially unstable as growth occurs because their infrastructure costs grow faster than economic growth grows the tax base to pay for said infrastructure.

Loudon County, Virginia, for instance, has drastically lowered its willingness to approve single family housing because it's realized that each new SFH actually gets a large net tax subsidy unless its value is above a certain threshold. More SFHs = budget death.

Apart from infrastructure cost savings due to the economy of scale, the other huge benefit is actually to economic growth: denser cities are more economically productive than less dense cities. In cities with good human capital, the effect is even stronger with higher density.

It's easy to see why this might be. For starters, for people and jobs in a given area means every person has access to more jobs than they would otherwise. In a spread out region, more jobs would be outside of reasonable commuting distance, meaning a good portion of workers would not be willing to take the jobs, due either to time or cost concerns (especially for the poor who will be less likely to afford a car, bus / train fare, etc.).

So yeah, the benefits are large. We founded cities for a reason thousands of years ago.
Or, you know, you can use OSGi (http://www.osgi.org/Main/HomePage)
Delphi could be considered a proprietary language while Fortran has multiple standards. So tooling switches are not quite as big an issue.

Lifecycle of languages is a hard issue regardless of language. Unless you keep switching to the correct new shiny thing then you will have developer issues. I think their are a few more Fortran programmers than Delphi these days.
The UI looks archaic but I wouldn't presume that says anything about how it works under the hood. There are other forces at work on the UI. See e.g. https://uxmag.com/articles/the-impossible-bloomberg-makeover
> Go's "time" library is deceptively simple.

Has any language initially shipped with a non-broken date / time library? (See: SQL, java, python,...)

Clearly a very hard thing to get right, but post-JodaTime there a fewer excuses for APIs like:

> AddDate(y, m, d) to add a given number of years, months, days:

which pretty much defines 'deceptively simple'.
Custom agents in Australia at least have a kind jack-tool that they shove in the side of the zip, and it opens it. They can then go through the bag and just rerun the zippers over it and it zips it back up. Doesn't matter if they are locked or not.
OptiKey: free and open-source alternative eye tracking for sufferers of ALS/MND
That seems to be an issue with the playground: https://github.com/golang/go/issues/12388

It seems counter-intuitive to me that the behavior of time.Parse would depend on a "system location", but apparently it's by design.
I'm glad they didn't. Its not essential to solve the problems the module system is designed to solve, making adoption easier. A mechanism to resolve, download and cache artifacts is still needed anyway, at least I didn't see anything in that regard.
Technologies That Will Redefine the Enterprise: Drones
I remember watching a talk on the C++ memory model, memory ordering and atomics where it was claimed that the CPU industry was moving toward sequential consistency because cache-coherency protocols haven't been shown to be a practical bottleneck in the near future.

This is good news for actually scaling caches with cores though, given how much die space is actually used for cache compared to cores.
Lovefield – A relational database for web apps
Will java drop the bc in the future ? (e.g. 1.4 1.5 1.6)
With the time by, java have a heavier bc problem.
A proof of the protocol is in the separate paper, which is at http://arxiv.org/abs/1505.06459
It would seem that one of the JSR 376's key goals is to provide a saner way to manage dependencies than the Java classpath.

See also: http://wiki.osgi.org/w/images/thumb/e/e2/Classpath.jpg/500px...
Codedoodl.es \\ creative code sketches
Last House on the Left: Following Jeremy Corbyn's Campaign Trail
City of Boston's license plate reader DB was online, plain text and unpassworded
Converting to later versions of the Fortran standard would get you a long ways there. Plus with all the focus in 2003 & 2008 with C interoperability, you can plug in later open source libraries.

[edit: I wonder what a modern version of RATFOR would look like]
Pitch Your Startup to Tech Reporters Around the World on Our Global Startup Map
The iPad Pro vs. the competition: Super-size your tablet
If they're in the same genus presumably the same CRISPR approach that's being used to inject Wooly Mammoth genes into Elephants can apply ?
Sigh. Bloomberg-er here -- this article is old. There is certainly a lot of Fortran remaining in sections (you don't rewrite working code with C linkage in another language just because -- you rewrite it if you have something to gain), but it is nowhere near as bad as this old article makes it sound. Many teams are C++ only and have been for a long time (see our open-source code on GH for a sample). Keep in mind that if you deal in absolute numbers you are missing the bigger picture -- the actual real number will be much smaller and it will be an even smaller percentage of the total codebase.

edit: Can mods put (2006) in the title? Seems reasonable...
Apple doesn't want their own ISA. MIPS was going for a song just a couple years ago and Apple decided not to buy. That was the best shot they'll have at their own ISA (they could go with RISCV, but they wouldn't own it).It is my belief that they got what they wanted by forcing ARM to switch to the ARMv8 ISA.

New microarchitectures take 4 years or so to design. ARM announced the new ISA in 2011 and didn't have a shippable product until 2015 which is very typical. All the other implementers (eg. Qualcomm) have also not been able to ship until now (Qualcomm's custom Kryo doesn't hit until later this year). Apple shipped a better product in 2013 than A57 is today (ARM doesn't catch up until A72 later this year). To my knowledge, a licensee had never shipped a new ISA before the ISA designer up to this point. How did they get a chip designed, validated, tapped out, produced, integrated, and shipped out in 2 years?

I believe that Apple looked into purchasing MIPS or designing a custom ISA, but was put off by the costs and headaches associated with moving ISAs (having already done this with the change from POWER to x86). Instead, they design an ISA that is incredibly close to MIPS and start implementing a micro-architecture. Once they reach the stage where they must make a decision about which ISA, they tell ARM to use their ISA or they will move to MIPS. This head-start also

ARM is already somewhat threatened by Android having first-class support for MIPS. Having such a big player switch would be extremely threatening to them. The result would be an immediate caving. ARM would need to publish the ISA, but Apple would have a couple year head-start on implementing it (this head-start also puts Apple in a good competitive position relative to Android phone manufacturers). The rest is observable history.

This may not accurately represent what really caused this series of events, but it does explain why Apple got a good chip out before ARM could release a bad one (ARM couldn't even get a smaller, easier chip out the door). It also explains why all the other chip companies hint at their surprise at Apple's early launch.
Patterns for Streaming Realtime Analytics
Android has more sales in the same way free apps have more sales than paid Apps. Apple only targets the high end which is why they reap a majority of the profits whilst most Android manufacturers can't even sell enough devices to cover costs, despite using a free OS they never had to sink R&D into.

As for UX I didn't think it could ever be argued that Android was even comparable to iOS, you can look at the sat ranking for how well iOS is received, or even browser market share where the majority of mobile web is still from iOS - which is a good indicator on how much devices are being used for non-phone features, despite having fewer devices in the wild.
This is very handy
How Your Camera Works
YAPF – A formatter for Python files (like gofmt)
Probably some last minute feature that was forced with a same day deadline. If I had a dollar for each of those I'd be able to retire.
I like KeePass and use it daily.
> Consider that "spanish" and "italian" are officially separate languages, while the US and Scotland both officially speak "english". The terminology won't help you predict which pair has an easier time communicating.

I'm not certain, but that doesn't sound right to me.

I'm pretty sure Americans and Scots have a far easier time communicating than someone who only speaks Italian and someone who only speaks Spanish.

(Assuming Scottish accents that are reasonably mainstream, not an extreme outlier.)

If I'm wrong, I'd like to be enlightened.
organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations

—M. Conway
And if you start talking about non-equity markets there is a lot of trading done on BBG as well.
RIP: Grooveshark no longer serving the shutdown message
Kurt Vonnegut tech writing tips
Why am I not in the least bit surprised that the #1 offer currently is "programming in exchange for sex"?
Taking that as the metric how have the writers of the paper in the OP proved that the species that produced these bone fragments was not able to produce [fertile] offspring with any other species (of which they have a few bone fragments), or even with modern humans.

Even with a full genome, or a full skeleton is it even possible? Surely the only way we currently have to determine mating compatibility is to have live subjects to mate/extract gametes from and means to incubate the zygote [and care for it to adulthood].
...should I feel guilty for fantasizing an apocalyptic WW3 scenario with the USA lead by MacAfee and Russia led by Putin? the world would turn to ashes, but boy it would be fun to watch :)
RecyclerItemDecoration allows you to draw divider between items in recyclerview with multiple ViewType without considering items' positions!

When using recyclerView with different ViewType, you either have only one simple divider or different types of dividers. When you want to draw different dividers between recyclerView's items, basically you must consider items' position; often you need to have separate ItemDecoration's behaviors declared in your code using switch cases or if statements. For example, each time items' position changes happen, you must rewrite ItemDecoration's behaviors.

You don't need to think about items' position! You need to care about their ViewType!!
Prefixbox: Autocomplete as a Service
> a kind of jack-tool

A ball point pen works great too. :)

https://www.youtube.com/watch?v=G5mvvZl6pLI
Show HN: A platform for making NFL Against the Spread picks
Highlighting the Meeting C++ Student program
Here's how the new iPhone 6S and 6S Plus compare to the top Android phones
If this is interesting to you, you might also like http://www.lowtechmagazine.com.
There are idiomatic ways to use every language. Much in the same way that you can write C++ that looks a lot like C, you can write FORTRAN that looks almost exactly like C. So if you have a lot of FORTRAN and thousands of C programmers, it isn't a huge problem. If your codebase was in COBOL, maybe you'd have a problem...
For those wondering about `rootless`, it is implemented as an extended attribute on files/directories.

$ xattr /usr

com.apple.FinderInfo

com.apple.rootless

Running `sudo rm -rf /usr` fails.

$ sudo rm -rf /usr

rm: /usr: Operation not permitted

Here is a list of all of the `rootless` files and directories on my system. It appears to be mostly kext files, and Apple applications.

https://gist.github.com/bobbyburden/4ce5c42044e5a9967b25
Might be useful for us Gen Y'ers because we certainly can't afford a real house. ;-)
We released a beta of Choice We need some people to test for us. Please help
Extinct might not work since that human-like species might be an ancestor of ours.
It looks like this formatter isn't just for internal use, at a company that can buy each of their developers multiple 25-inch monitors. Not everyone has screen space to burn making their editors and terminals arbitrarily wide. If the majority of Dart code was formatted with a line length limit above 80, that would significantly deter me from exploring Dart.
I recently read about this company in the NYTimes which is trying to do just that: https://www.money.net/

$99/mo/user vs $21,000/year/terminal. Wow! I wonder what other kinds of entrenched, expensive products like the Bloomberg Terminal are in need of competition. I think this requires industry-specific experience to know, however.
Breaching a medical training mannequin raises new cyber security concerns
Reproducible development environments with NIX
Gollum!
Don't listen to the naysayers! This is a good learning opportunity. For example, you'll learn why you shouldn't spend a year (or more) working for free on a former colleague's Uber for X startup.
Ever Wonder Why Some Teams Are Avoiding Windows Server 2003 Replacement?
thanks for the writeup, that was the hunch from skimming the article but good to get confirmation!
Google Fiber and Indian Railways
But perhaps not as valuable
Just to choose an open source example: JET generated code from the Eclipse Modeling Framework is generally expected to be checked in, read, and edited by humans.
One motivation for the module system is faster JVM boot time. OSGi doesn't help with that at all.
.Net's is pretty good.

var date = DateTime.UtcNow.AddDays(24).AddYears(-10);

In use:

var billFor = 12; // months

var firstDayOfMonth = DateTime.Today
.AddDays(1 - DateTime.Today.Day);

var billDates = Enumerable.Range(billFor)
.Select(n => firstDayOfMonth.AddMonths(n));
> That’s when I realized that a library with 30 versions is actually 30 separate libraries.

Should be output to the screen in BLINKING ALL CAPS on every invocation of rubygems and npm.
I believe older java versions are already incompatible with newer jvms. I couldn't find it explicitly stated but i'd be surprised if 1.4 code worked 100% correct on a 1.7 jvm.

My experience so far is that the list of incompatibilities (http://www.oracle.com/technetwork/java/javase/compatibility-...) between versions makes it nearly impossible to just drop code between versions. It will run, but often implementation details have changed causing significant bugs. Your mileage may vary
As the saying goes, a language is a dialect with an army and a navy.
They fixed many issues with default user interface elements.

For example, it's almost impossible to see if a control is disabled or not in Yosemite. Or the default, white, borderless buttons on don't work very well on a bright background.

In El Capitan they fixed a lot of these problems. All buttons now have a border, and their state is clearly visible.
We have many, many people that work on data. We also have ballpark 4,000 programmers. If that doesn't make a "tech" company, then what is your definition?
It's a pretty great thing viewed through another lens, you hire kids and teach them FORTRAN. They won't jump ship as easily when their work experience is all FORTRAN.
Your better & duplicated technology is generally no match for the incumbent's connection, trust, familiarity, and fully expense-accounted sales team. That is the incumbent advantage and why Oracle wins so often.

Its very much like message boards. HN and Reddit have the hot hand and the connections overcome better technology of other boards. Once the connections become too toxic, people will migrate to the next thing. Then you might have a shot, but the group with the best connections will probably be the next thing.
I do seem to remember being taught in school that the definition of species is "organisms that can reproduce and generate fertile offspring".

Apparently, though, it's not that simple: https://en.wikipedia.org/wiki/Species_problem
Aha‼ Moments Learning Git
Haskell's `time` (and its faster, lensier, API-compatible copy, `thyme`) handle these issues with aplomb and have been around a while.

You'll also want to include timezone-series and timezone-olson for accurate TZ handling.

https://hackage.haskell.org/package/time
https://hackage.haskell.org/package/thyme
https://hackage.haskell.org/package/timezone-series
https://hackage.haskell.org/package/timezone-olson