COBOL programmers answer call - <AUTHOR> https://spectrum.ieee.org/tech-talk/computing/software/cobol-programmers-answer-call-unemployment-benefits-systems <comment><USER3> COBOL can be a real pleasure to use.

For instance, it allows programmers to quickly create user interfaces by declaratively describing them, in a so called SCREEN SECTION.

The resulting interfaces are very efficient for text entry, and allow users to quickly get a lot of work done. The interaction is so much more efficient than what we are used to with current technologies that it can barely be described or thought about in today's terms.

Regarding the underlying theme of legacy systems, here is an interesting presentation by Jonathan Blow, citing various examples of earlier civilizations losing access to technologies they once had:

[https://www.youtube.com/watch?v=pW- SOdj4Kkk](https://www.youtube.com/watch?v=pW-SOdj4Kkk)

I think in terms of user interfaces, we are on a downward path in several important ways, and I highly recommend checking out earlier technologies that were in many ways an improvement over what we are working with today.

<comment><USER4> > For instance, it allows programmers to quickly create user interfaces by > declaratively describing them, in a so called SCREEN SECTION.

By the way if it seems odd to have I/O like this in your language:* this reflects the architecture of mainframes; because the CPU was so important, I/O was managed by external devices (typically themselves a cabinet of electronics, at a time when the CPU took up two or three cabinets itself). You'd write essentially a small program describing what IO you wanted and then let the IO channel controller be busy dealing with minutiae like dealing with the tape drive motor or input from terminals.

So the language would set up data to be slapped to a terminal (this would have been a decade or more after COBOL was written, once terminals with screens were available), which the channel controller would send to the appropriate terminal. It would then deal with input and once all was ready, tell the CPU that it had a bunch of input ready.

Terminals like the 3270 were even half duplex so would process the input and then send it off as a block, to make the channel controllers more efficient!

In the ARPAnet of the 1970s, the ITS PDP-10s and -20s took this further with a protocol called SUPDUP (super duper) which allowed this kind of processing to be done on a remote machine when logging in over the net (as we would do today with ssh). So you could log into a remote machine and run EMACS, and while you were editing a remote file with a remote editor all the screen updating would be done by your local computer! Even the CADR lisp machines supported this protocol!

* At the time _not_ doing IO through the language itself was considered oddball. I seem to recall a line in the original K&R where they described C's I/O and made an aside, '("What, I have to call a function to do I/O?")'

<comment><USER5> It's quite clever, actually. Offloading specialized work to autonomous subsystems allows the CPU to run your code better than it would if the CPU also had to deal with reading from disk or assembling packets for the network. A modern mainframe has tons of such systems and that's what allows them to process volumes of transactions that PC-based servers of the same price range can't.

In fact, our PCs are like that because they had to be cheap and the cheapest way is to burden the CPU with all work.

<comment><USER4> Actually I'd disagree a bit with your last sentence. Handling io interrupts in the kernel was a property of cheap machines like minicomputers that you could buy for a few hundred $k or less. You typically couldn't afford extra channel controllers on cheap machines like that. Hence Unix's I/O architecture was driven by the constraints of the PDP-7. Multics has a standard io controller architecture.

PCs of course had the same issue — down to the cpu controlling the speed of disk rotation! But a modern PC has an I/O system more complex than the mainframes of old, with network interfaces that do checksum processing, handling retransmission and packet reassembly etc, just DMAing the result. Disk drives, whether spinning or SSD have a simple, block interface unrelated to what the storage device is doing, etc. I think this is all as it should be, though I personally consider the Unix IO model grossly antiquated.

<comment><USER6> If /dev/zero is an infinite source of zeros, then why doesn't the minor device number specify which byte to use? Then you could make character special file /dev/seven that was an infinite source of beeps! There have been so many times I needed that.

<comment><USER5> Great idea! Also, for when you need some paper, you can pipe /dev/twelve to your printer.

We should propose a kernel patch for this next April.

Extra credit if we get it rolled into POSIX.

</comment></comment></comment></comment></comment></comment><comment><USER7> It's not so clear that COBOL is to blame:

> COBOL "remains one of the fastest programming languages," said John > Zeanchock, associate professor of computer and information systems at Robert > Morris University. "We get calls from big companies in Pittsburgh, like Bank > of New York Mellon and PNC Bank, looking for COBOL programmers. The > limitations of COBOL itself are probably not the problem with New Jersey's > system," Zeanchock said, adding that a single mainframe computer could > probably handle the processing needed for an individual state's UI > unemployment insurance system, even if the number of applications increased > tenfold.

[https://slate.com/technology/2020/04/new-jersey- unemployment...](https://slate.com/technology/2020/04/new-jersey-unemployment- cobol-coronavirus.html)

The article goes on to note:

> When it comes to our broken social safety net, COBOL isn't really the bad > guy: blame Congress for underfunding the programs, and states for failing to > make up the gaps.

And later:

> "We've known for a long time that even a much smaller crisis would lead to > daunting challenges," said Dutta-Gupta. He points out that during the Great > Recession, state unemployment agencies were so understaffed that their > agency heads spent shifts answering applicant phone calls. Even if states > weren't getting federal funding, they still could have paid for better > technology with their own tax revenue. According to reporting by the Tampa > Bay Times, former Florida Gov. Rick Scott and current Gov. Ron DeSantis > ignored repeated warnings that the state's website barely functioned.

This looks a lot less like a computer problem and more of a process and institution problem made much worse by chronic underfunding and understaffing.

<comment><USER8> > This looks a lot less like a computer problem and more of a process and > institution problem made much worse by chronic underfunding and > understaffing.

It's a political issue. Some states are broke (e.g. NJ), and some are hell bent on not helping others in society so they handicap social welfare systems (e.g. FL). Real solution won't come from a few COBOL programmers, it will have to be voters voting in people who will address the issues.

<comment><USER9> How broke is NJ? What could they do? Why aren't they?

<comment><USER8> Extremely broke.

[https://www.truthinaccounting.org/news/detail/financial- stat...](https://www.truthinaccounting.org/news/detail/financial-state-of-the- states-2019)

Other than defaulting on their debt, they can't do any thing about it as the money was spent decades ago in the form of defined benefit pension payments in the future. If all the recipients of those future defined benefit pension payments died, then that would also lower their debt.

<comment><USER9> Hm, so currently they just "service the debt", they can issue bonds and just pay out over 50+ years. I don't see why they don't plan for the long term with this.

They are relatively a prosperous state. (Good GDP per capita, good income after taxes - [https://upload.wikimedia.org/wikipedia/commons/9/9f/Median_h...](https://upload.wikimedia.org/wikipedia/commons/9/9f/Median_household_income_and_taxes.png) , though life is accordingly expensive 34th overally affordability - [https://www.usnews.com/news/best- states/rankings/opportunity...](https://www.usnews.com/news/best- states/rankings/opportunity/affordability) \- better than Florida, Washington, NY, CA, etc. 2017 "PPP" is 112% of national average, close to NY's 115% and CA's 114%.)

Though they should just ship pensioners to a cheap-to-live state, eg Florida or Pennsylvania.

Okay, okay, armchair policy recommendations are always very nuanced and great (not to mention useful), especially on random internet forums! But the level of dysfunction due to braindead leadership is always surprising.

</comment></comment></comment></comment></comment><comment><USER10> I asked a few friends about the New Jersey call. They (2 of them, both retired and over 70) claimed there's no work to be done and it's actually an incompetently administered administration with human problems who are scapegoating the technology. Also supposedly the New Jersey govt sacked their team and then was trying to contract out the work at $50/hr. Now they are offering $0/hr. And the solution isn't in software, or so they claimed.

This assessment was after both signed up to volunteer to do the work and saw it was a human process failing and not a software issue. People tend to point to the parts most mysterious to them when things start to fail - a zSeries frame is in actual reality, a very important big black mystery box that officials with access to microphones are not allowed to touch - perfect.

Don't let this discourage you though, their problems are still very real.

<comment><USER11> How many folks on HN have witnessed this same very thing within large mega- corps and government agencies? I've seen it a LOT.

The big bummer is that the crisis almost requires enabling behavior here, in the sense that if there are things wrong with said COBOL system, it's the fault of the NJ gov't for not fixing it a long time ago. People should rescue this for the sake of the unemployed, but can we please fire people for this?

This isn't a red state: They collect plenty of revenue. So IF IT IS COBOL SYSTEM, and not just bureaucrats, it's still NJ's fault.

As Bezos said recently regarding the Seattle city gov't:

They don't have a revenue problem. They have a spending efficiency problem.

<comment><USER12> > This isn't a red state: They collect plenty of revenue.

Part of this revenue collection (tax policy) is why corps are moving en masse, the recent largest example is Honeywell's relocation to Charlotte. NJ's latest tax hike has actually caused them a net loss in revenue.

<comment><USER9> How it affected their expenses? A big corp leaving lessens services utilization which might help if NJ was paying a hefty premium for over-using their infrastructure.

<comment><USER12> A good theory but doesn't apply here, but I did leave out a key piece of info: the largest drop has actually been in income tax ala large hedge fund managers who have fled the state. Carolina Panthers owner and billionaire David Tepper is one recent-ish high profile example, but there are many others. Corps like Honeywell aren't an infrequent sight either. New Jersey's revenue has fallen YoY since the loss of Tepper et all.

The insane part of me here is NJ politicians keep clamoring to raise taxes more. It's almost as if they heard De Blasio's campaign slogan and thought it was a great idea.

</comment></comment></comment></comment></comment><comment><USER13> I worked in COBOL at an internship and this was around 2012. This system runs over 1000 court systems in the U.S. It's graphical too and sort of looks like vb6 on the frontend. It was a nightmare to work in even though the team was disciplined and took care of the codebase. You can't write 10k line programs with all global variables and have something that's nice to work on.

<comment><USER14> I remember working on a super-old-legacy Fortran program that had 6-character significance for the variable names.

I vaguely remember they had different namespaces using common blocks.

<comment><USER15> This might not be all that old! Early ISO C standard (1990) had the same 6-significant-character limitation for identifiers exported across translation units. So far as I know, this quirk is there because early C implementations reused pre-existing Fortran 77 linkers, many of which still had that limit at the time.

</comment></comment></comment><comment><USER16> And at the same time, Gentoo maintainers are reluctant[1][2][3] to update the shipped version of GnuCOBOL. Similar to Fedora/RHEL[4]. And it's far from dead - GnuCOBOL is actively developed[5] and preparing[6] an upcoming release this year.

[1] [https://bugs.gentoo.org/641888](https://bugs.gentoo.org/641888) (reported 3 years ago!)

[2] [https://bugs.gentoo.org/685960](https://bugs.gentoo.org/685960) (reported 1 year ago!)

[3] [https://github.com/gentoo/gentoo/pull/12067](https://github.com/gentoo/gentoo/pull/12067)

[4] [https://bugzilla.redhat.com/show_bug.cgi?id=1714241](https://bugzilla.redhat.com/show_bug.cgi?id=1714241)

[5] [https://sourceforge.net/p/open- cobol/code/commit_browser](https://sourceforge.net/p/open- cobol/code/commit_browser)

[6] [https://sourceforge.net/p/open- cobol/discussion/cobol/thread...](https://sourceforge.net/p/open- cobol/discussion/cobol/thread/7dc2941f/?page=4)

<comment><USER17> Ah. Gentoo. That brings up memories - I've used it as my main OS for ~3yrs. Updating OpenOffice with 4h compilation times used to be fun :).

It's great to see that they are alive and kicking.

</comment></comment><comment><USER18> Robert Glass wrote a series of articles in the 80s and 90s defending COBOL. I once wrote him (the old fashioned way, with an enclosed check!) to get back issues of his old printed newsletter because I wanted to hear what he had to say about it. Those don't appear to be online, but here's an article he wrote in 1997 for CACM:

[https://www.thefreelibrary.com/Cobol+-+a+contradiction+and+a...](https://www.thefreelibrary.com/Cobol+-+a+contradiction+and+an+enigma.-a020378493)

<comment><USER19> That was honestly a great read. Would love to read the same article but rewritten for today's context. Thanks for sharing it.

<comment><USER18> Glass is probably best known now for his book "Facts and Fallacies of Software Engineering", which is a pretty good entry in a pretty lame genre, which is the attempt to draw meaningful conclusions from the research literature on software engineering. The main lesson of the book is how poor the studies are, but it's still worth reading for his own wisdom.

</comment></comment></comment><comment><USER20> I work in County IT in a medium large county in my state, about 110K residents. We just finished a migration from COBOL on HP3000 to SQL+ColdFusion and some ASPX. COBOL is infinitely faster at computation on PARisc than SQL is on Intel; our HP3000 is a 120MHz with 500mb of ram and our Intel stuff is VM on ESXi. Running a tax roll on COBOL for 45K parcels takes a fifth of the time on the HP despite the massive hardware differences!

<comment><USER21> Why was "SQL+ColdFusion and some ASPX" selected as the replacement stack?

<comment><USER20> Two systems, one for Tax/Assessment which was provided by the state is SQL and ASPX and the other which is used for historical inquiry and document generation which is in-house code in SQL and Coldfusion.

The ASPX taxing/assessment system is the slow one in comparison when it comes to calculating. The ColdFusion system is not as hindered but its used for making letters and reports, exporting layers to GIS, and generally replacing COBOL-screens for information retrieval.

Is/are there better solutions, yes, but I was giving an example rather than critiquing the County's choice of software that happened well before I came along.

</comment></comment></comment><comment><USER22> We should have a celebratory COBOL-thon this weekend. Everyone write a minimal COBOL app. Just for fun.

Not sure if the COBOL bridge for Node is allowed. :-)

Resources:

[https://opensource.com/life/15/10/open-source-cobol- developm...](https://opensource.com/life/15/10/open-source-cobol-development)

[https://archive.org/search.php?query=COBOL%20programming](https://archive.org/search.php?query=COBOL%20programming)

<comment><USER23> And what about [https://github.com/azac/cobol-on- wheelchair](https://github.com/azac/cobol-on-wheelchair) ?

           display
               "content-type: text/html"
               newline
           end-display.

Most of your webapp is already done :D

</comment></comment><comment><USER24> I am wondering if my old professor answered the call. He used to work in the banking industry, is very outspoken against Capitalism and got fired for wearing jeans.

I have been working on a project and have some experience with DB2/AS400, it is not as old as COBOL. It is not very fun or exciting and stackoverflow lacks much information, a lot of trial and error.

I can't believe how widespread these old systems are. I am surprised nobody has decided to update them, I mean when these old developers die or retire......they will have a hard time migrating to a newer systems.

Bonus: I HATE IBM, .Net Core provider to access database? That is a few $$. Crappy documentation? Check. Deleted code examples I had bookmarked? Check. IBM forum questions answered in private messages, so nobody else can use the information and the question needs to be asked hundreds of times? Check.

IBM is so upside down.

<comment><USER25> I thought IBM handles this by making VMs so old things can run on the new(er) things? Isn't it turtles all the way down? I worked for a company that specialized in distribution and circulation software for all the big papers at one point in time or another and it was all COBOL with some of the code bases as old as I was (a handful of engineers remained which laid down a few of them were still on staff, pretty cool resources since they've solved pretty much everything). I bagged a bunch of AS400 operating manuals which were on their way to the trash. I've got one on my shelf I wish I could share with you. Anyway to complete the anecdote one of the younger engineers found their way to greener pastures by creating a screen scraper of sorts for the AS400 to expose it to another API. My mind was blown at the time but it makes sense since these were the webforms of their day.

<comment><USER24> In our case we have an IBM iSeries box, AS400 uses DB2 as its database. I am writing an application that communicates with DB2, and I perform a lot of queries directly on the database. We also do have a book on AS400 but most development is done by our old school dev. There is plans to migrate to a newer system but the cost is quite expensive.

I mostly work in .Net MVC/Core. However, connecting to db, obtaining licenses, etc have been a real pain.

</comment></comment></comment><comment><USER26> I coded COBOL and RPGII programs back in the late 70's, and I'd flip burgers before writing another line.

<comment><USER27> Oddly enough I suspect you'd have a much harder time getting hired for a burger flipping gig at the moment. What a strange time.

<comment><USER28> Maybe, maybe not.

If we make these (very questionable) assumptions:

\- Most qualified mainframe COBOL programmers are in an age bracket for which COVID-19 is very dangerous,

\- and most COBOL shops are reluctant to allow all-remote teams,

then it might be harder to fill those jobs than it is to hire risk-tolerant / risk-ignorant young adults to flip burgers.

<comment><USER29> For what it's worth, my dad was doing remote COBOL in the early 1980s, so the technology is available.

</comment></comment></comment></comment><comment><USER30> COBOL was the first language to take data format seriously, with "records" and a "data division". To some extent, it still is. Look at the gyrations people go through to get Java or Python to talk to an SQL database. The programming language itself has no clue about database layout.

<comment><USER31> Python takes care of the records pretty well with named tuples (and since it's dynamically typed, not knowing the fields until runtime is expected). It doesn't have anything for the query part through, like C# does with LINQ - <USER2> you saying that COCOL does? What does this knowledge of database layout look like in COBOL?

<comment><USER32> Since python 3.7, dataclass is probably preferred over namedtuple, which is typed, [https://realpython.com/python-data- classes/](https://realpython.com/python-data-classes/)

<comment><USER33> Dataclass is not immutable, for some cases typing.namedtuple should be preferred over dataclass if typing is needed. Deep dive here: [https://stackoverflow.com/questions/51671699/data-classes- vs...](https://stackoverflow.com/questions/51671699/data-classes-vs-typing- namedtuple-primary-use-cases)

<comment><USER17> That's not really true - you can set frozen=True and you will get an immutable version of the class.

</comment></comment></comment></comment></comment><comment><USER34> If you want me to work on it for free, a mechanism already exists for this. It's called open source. Put the codebase on Github or wherever and I'll contribute.

<comment><USER5> The odds that their actual problem is COBOL code and not mismanagement are vanishingly small.

That said, if it's paid with public funds, it _should_ be open source.

</comment></comment><comment><USER35> What's the equivalent technology of today to get in on, in order to get some of this kind of money for old rope action in our retirement?

<comment><USER36> C and Java are going to be around forever.

</comment></comment><comment><USER37> I wonder if I'm personally addicted to easiness. I stand on the shoulders of giants and I forget just how nice it is to dig my toes into the soil.

I have a full set of Donald Knuth's "The Art of Computer Programming" sitting on my shelf, unopened after two years. Maybe it is time to rifle through it and learn how to program like the pioneers did in the old days.

<comment><USER38> No criticism of TACP intended, but I don't think you would find it very helpful in learning "how to program like the pioneers did in the old days." I don't remember too many of my older colleagues in the 1980s having copies of Knuth. It was something you might encounter among computer scientists, but not day-to-day working programmers. We rarely thought about algorithms in that way when we were building business systems. If we did need an algorithm (maybe to sort some customer records that were stored on tape) we would dig out the IBM or DEC binders and look up the system call that we were supposed to use.

I suspect that programmers who have grown up in the era of the PC would be surprised at how much the vendors supplied. The IBM mainframes came with huge libraries of software and documentation. I remember being given a UNIX box for a project at the telco where I worked, and being a little surprised at how little was included compared to the IBM or DEC machines of the day.

There certainly were some good programmers around, but a lot of "development" consisted of taking a copy of some existing COBOL program and tweaking a few things to create a new report. Out of two or three years of working in COBOL, I don't think I ever wrote a program completely from scratch. As a creative outlet, it was much more interesting to work in C and try to figure out how the guys at Bell Labs were doing things. Those are the shoulders that many of us stand on today.

</comment></comment><comment><USER39> Can any of you seasoned COBOL programmers in here please point to the best learning resources for this? I would love to learn it but I don't have any old IBM mainframes lying around.

<comment><USER5> GNU COBOL runs on pretty much anything. You can play with it right now. No need for a mainframe. In fact, a lot of COBOL code running these days is not running on mainframes.

Mainframes are not big Unix boxes. Their OSs were evolving for decades before Unix booted for the first time and are very different from anything most people have direct experience with. You can boot up a legal copy of MVS 3.8j (or an illegal one of its modern descendant z/OS) but expect a learning curve. You can also get something similar from Unisys for their Clearpath machines.

<comment><USER40> The thing that struck me from coming from a unix background was that the entire OS was record aware, all the native tools, everything. Stuff that is just hard in unix is trivial in z/OS

<comment><USER41> Having grown up in the older 'record aware' systems unix bytestreams were a wonderful breath of fresh air (this was back in v6/v7) - I guess perspective is everything

<comment><USER5> Being record aware comes from the punched cards that were the most popular way to keep data when they started evolving. They were born before ASCII (they use EBCDIC and, while ASCII was supported in one early IBM 360 model, it was dropped almost immediately)

Unix was born after magnetic storage, both disk and tape, were common. A file looks a lot like a tape.

<comment><USER40> System/360 was supposed to be ASCII from the get go, the architecture supports it (the RCA Spectra 70 series which was a System/360 architecture system was ASCII).

All System/360 descendants support ASCII, the issue they ran into early in the System/360 program was accessories, IBM had lots of EBCDIC I/O devices, and developing a line of ASCII I/O devices would have delayed introduction of the line by a period of time.

<comment><USER5> The USASCII-8 mode bit in the program status word existed in all 360's (sorry about that) but was removed in the 370.

</comment></comment></comment></comment></comment></comment></comment><comment><USER42> My father programmed in COBOL, but he never talked me about this. Anyone mind to share his experience? What would be to do this today? is it hard to learn?

<comment><USER25> Evidently it's a faux pas to ask about :P akin to asking veterans about war stories. You may get a kick out of this: [http://www.coboloncogs.org/HOME.HTM](http://www.coboloncogs.org/HOME.HTM)

<comment><USER43> The first rule of COBOL programming is you don't talk about COBOL programming.

The second rule of COBOL programming is...

</comment></comment></comment><comment><USER44> "Cobalt" skills. Really. Learning just COBOL is not enough, you will have to learn ISPF, SDSF, JMR, JCL, Db2, CICS, CA7, ENDEVOR.

Think about it 40yr old system still running. Amazing right. Pick any language today, write a program little bit enterprise level, will it run for another 40yrs without any major changes.

</comment><comment><USER45> [https://archive.md/ns6F8](https://archive.md/ns6F8)

</comment><comment><USER46> I would answer the call for 250K, up front.

<comment><USER47> In NJ, they are asking for volunteers.

And they wonder how it got this bad.

<comment><USER46> It's like an unpaid internship, smh

years of "it already works, dont fuck with it" policy and tech illiterate politicians.

</comment></comment></comment><comment><USER48> This seems like the makings of a movie. Along the lines of "Space Cowboys" or maybe another "Grumpy Old Men".

</comment><comment><USER49> What exactly are these Cobol programmers supposed to do? Process punch cards manually?

</comment><comment><USER50> Was there a COBOL search light bat signal? Because there should be.

</comment><comment><USER51> COBOL programmers rise!

<comment><USER24> Back from the dead!

<comment><USER28> I saw the best minds of my generation destroyed by COBOL copybooks...

</comment></comment></comment><comment><USER52> Just put the entire COBOL source code on the github and let us rework it in the Java or C# and be done with this abomination.

<comment><USER28> Verifying the equivalence of two large programs can be very difficult. Developers often underestimate the effort needed to achieve a correct rewrite.

<comment><USER53> Exactly and figuring out all the logic with code that's been refined and built out of 20-30 years.

Any developer saying, "Hey, go and rewrite the code" underestimate all the edge cases that end up all over the place in the application.

</comment></comment></comment><comment><USER54> Someone invent a COBOL to Python converter to get rid of these old dinosaurs IBM Mainframes.

<comment><USER55> Mainframes aren't some old crusty thing that's about to die from all the bugs stuck in the fans or something. We have a cobol system and it runs on modern IBM hardware. Besides, almost everything is virtualized now anyway.

The mainframes aren't the problem, and doing a code conversion of COBOL is not trivial. Their data types are completely at odds to normal data types in modern languages (for example, you can specify a string that is always exactly 30 ascii characters long, the 4th character must be a numeric, the 18th must be ascii but not numeric, the 22nd through 30th must be alphanumeric. All with a native datatype. And that's just the scalar types, Cobol data types natively support recurrences and redefines and heirarchies. And the language has like 400 keywords.) You end up having to wrap every single line of code in compatibility layers upon compatibility layers, and then it doesn't even look like python, it just looks like a crappier version of Cobol, to make it function identically.

It's much easier (though more time consuming) to read the code and determine the business rules being enforced and reimplement them in a modern language.

I have worked with a lot of Cobol translators and their output is worse than the original code by far. With a lot less confidence and experience with maintaining it.</comment></comment>


Goodbye YAML: Infrastructure as Code in Clojure via AWS's CDK - <AUTHOR> https://www.youtube.com/watch?v=yruVUkwlffk <comment><AUTHOR> Library being discussed: [https://github.com/StediInc/cdk- clj](https://github.com/StediInc/cdk-clj)</comment>


Nginx talking to Ruby via Luajit & ZeroMQ - <AUTHOR> https://github.com/igrigorik/zeroconf-router/tree/master/nginx

<comment><USER2> I'm curious about the overhead of the entire thing. How does this compare to the FastCGI interface?</comment>


Darcs Vs Git - <AUTHOR> http://www.haskell.org/haskellwiki/Darcs_vs._Git

<comment><USER2> There's an interesting post on the Haskell Cafe list from a while ago wherein Jason Dagit wonders if Git and Darcs aren't dual to one another. [http://www.haskell.org/pipermail/haskell- cafe/2010-October/0...](http://www.haskell.org/pipermail/haskell- cafe/2010-October/083206.html)

</comment><comment><USER3> So how about a DarcsHub?</comment>


System76 Oryx Pro review: Linux in a laptop has never been better - <AUTHOR> http://arstechnica.com/gadgets/2016/11/system76-oryx-pro-review-linux-in-a-laptop-has-never-been-better/ <comment><USER2> What people think about laptops with numpads?

I had one 5 years ago and I found it horrible. Your hands are to the left from the screen.</comment>


Show HN: Dabble - Location based photo journal - <AUTHOR> http://dabble.it

<comment><AUTHOR> We just launched Dabble, our app and website last week. We would like to hear thoughts & impressions from you folks. We're a team of 7 engineers working from SF and Buenos Aires.

We wanted an app that could give us a sense of a place and those that came before us. We launched last week at DEMO. Here is the 6-min DEMO pitch: <http://www.youtube.com/watch?v=_5efdZfLEYI>

<comment><USER2> Is this different than the Dabble that TechCrunch covered in 2006: <http://techcrunch.com/2006/07/23/dabble-launches/>. Looks very different (platform and project concept), but the similar name makes me wonder if the same team was behind both.

<comment><AUTHOR> No association with the Dabble of 2006.

</comment></comment></comment><comment><USER3> I downloaded the app but didn't register. Any chance you can put the map you show on your web page in the app? So at least I can see that without registering?

<comment><USER4> not in the app, not yet at least</comment></comment>


Wunderlist founder offers to buy back app from Microsoft - <AUTHOR> https://www.theverge.com/2019/9/8/20855201/wunderlist-buy-back-offer-microsoft-christian-reber <comment><USER2> Long-time Wunderlist user. I've been dreading the day that it switches off, and am thankful the team has kept it running over the past four years. I have no intention of using the Microsoft competitor.

I think that the fact Wunderlist _is_ a competitor to the MS service makes a sale back to the founders unlikely, though.</comment>


Ask HN: Which communities like HN do you follow?  - <AUTHOR>

HN is a gem of an online community for hacking and startup related news/talk. What other communities, similar ot HN, but can be on any subject, do you follow? <comment><USER2> I don't know if these fit the criteria of "community" or "like HN" that you're looking for, but:

Mostly IRC channels like #openbox, #debian and #debian-next on OFTC and #vim on freenode.

<http://planet.filibeto.org/>

<http://planet.debian.org/>

And as I've mentioned in a previous comment:

/r/linux

/r/raspberry_pi

/r/commandline

/r/perl

/r/bash

/r/debian (low volume of traffic/posters)

/r/solaris (very low volume of traffic/posters)

/r/openbox (very low volume of traffic/posters)

...and of course raspberrypi.org/forum

</comment><comment><USER3> MetaFilter.com has a good community.

It's not focused on any subject; maybe a little inclined towards humanities/literature, but by no means limited to it. I sometimes see the same articles discussed there and on HN.

</comment><comment><USER4> I'm following (and created) <http://www.trejdify.com/> which is similar to HN, but it's only economical resources. The current site is a beta, but my plan is to finish the new version soon. The new version will also include a "tools" section with different tools one can use to improve your economical decisions

<comment><USER5> Feedback: Great idea! Design can use some help. I would follow a format more similar to hn news (minimal design). Also, if you are going to advertise, put it at the page footer. No one will enjoy looking at the ads on the side of the page. Once again, great idea. If you need css help, email me, I'd love to contribute.

</comment></comment><comment><USER6> Hacker News is so great that I don't know other similar communities.

</comment><comment><USER7> <http://reddit.com/r/netsec> (network and information security mostly)</comment>


Wednesday Is Down - <AUTHOR>

test <comment><USER2> Nope, just looked outside; no zombie apocalypse. Wednesday still operating normally.</comment>


What Makes Deveo Different from GitHub, GitLab, or Bitbucket - <AUTHOR> http://blog.deveo.com/what-makes-deveo-different-from-github-gitlab-and-bitbucket/ <comment> dmitry-k Nice post on the SaaS offerings! That, however, is not an option for enterprises where source code is that critical, it should "never leave the perimeter".

Those firms need a behind-the-firewall kind of security, under a common software platform, preferably open source (like rhodecode.com).

In other words, it is a must to have source code management that is developer- focused (with code reviews, pull requests and automation), yet provides unified security across the code base, with access controls and common authentication.

<comment><AUTHOR> Hi Dmitry!

Thanks for your comment. I fully agree that there are many companies who want to host the development tools behind-the-firwall, and luckily Deveo can be hosted on-premises as well as used from the multi-tenant cloud instance. Actually, our biggest customers use solely the on-premises version, which scales to thousands of users using clustering and load balancing. The article tackles the things from the SaaS point of view because more and more companies are moving to the cloud. I need to clarify that Deveo can be used also behind the firewall in the future more.

All of the "developer focused" features you mentioned are present in Deveo. Rhodecode, on the other hand, lacks two fundamental features to support the daily workflow of developers: Issue tracking and Wikis. These two functionalities are present in Deveo, GitHub, GitLab and Bitbucket.

If you wish to compare the differences between Deveo and Rhodecode, head on to [https://deveo.com/trial](https://deveo.com/trial) and see the differences yourself. I would love to hear what you think after you have actually tested it.</comment></comment>


What programming language to use for microcontrollers - <AUTHOR>

What programming language would you use for a microcontroller with very limited processor and memory resources.  Would you write in assembler?  in FORTH? or what?  What microcontroller would you use? <comment><USER2> Depends on the microcontroller and the task. Most microcotnrollers these days support C, so unless there is a specific requirement that cannot be solved in C (for example, if it is not fast or small enough), then assembly.

If the microcontroller does not have a C compiler or has other high level languages, then obviously you would want to evaluate them to see what the best option is for your project. The same goes for the decision of which microcontroller to use. It depends on what you need: unit cost, performance, power consumption, available development tools/compilers/languages/documentation, available I/O pines etc etc.

As for what microcontroller I'd use - if I wanted to do somehting simple as inexpensively as possible and don't require high performance or many I/O pins, I would use a PIC [1] microcontroller, as they are well known (therefore are reliable, have tools and documentation), extremely cheap and low power.

If I need something more powerful, need more I/O pins, need 32bit integer support (or generally can deal witht he fact that they cost maybe 15x the amount of a PIC), I would use a Parallax Propeller [2] microcontroller. Its a great architecture, is easy to program (in its own interpreted high level language, Spin, in assembly, in C and in Forth - possibly other languages too now), has good documentation, sample code and an active community and is quite powerful. Its funky 8 core interrupt-free architecture is interesting too.

If I needed something even more powerful than a microcontroller, I'd use an ARM Cortex A8 [3] based processor.

If you need support for peripherals or otherwise want a more complete package than a microcontroller or processor, I'd use either a Propeller-based Chameleon [4] or a Cortex A8 based BeagleBoard [5].

[1] PIC - <http://en.wikipedia.org/wiki/PIC_microcontroller>

[2] Parallax Propeller - <http://www.parallax.com/propeller/>

[3] ARM Cortex A8 - [http://www.arm.com/products/processors/cortex-a/cortex-a8.ph...](http://www.arm.com/products/processors/cortex-a/cortex-a8.php)

[4] Chameleon - two models, 16bit PIC & Propeller: <http://www.xgamestation.com/view_product.php?id=52> and 8bit AVR & Propeller: <http://www.xgamestation.com/view_product.php?id=51>

[5] BeagleBoard - <http://beagleboard.org/>

</comment><comment><USER3> Hi,

A while ago I bought 'Arduino' and 'PIC', they both provided a microcontroller and the cord that goes from your PC to the microcontroller so you can update the code in the chip etc. I tinkered a little bit with Arduino and you can build quite a few little well working things such as robots.

So, I would use Arduino. The coding part is a lot like C, which is good even for a MC with limited memory resources and processor.

I'm still a beginner in that area though.</comment>


Should we ask for cardholder name even though issuers don't require it? - <AUTHOR> https://ux.stackexchange.com/questions/31006/should-we-ask-for-name-on-card-even-though-its-not-required-for-credit-card-pay <comment><AUTHOR> This came up during the HN discussion on "Chromium's Impact on Root DNS Traffic"[1] wherein card payments without real first/last name was being discussed[2].

[1] [https://news.ycombinator.com/item?id=24231857](https://news.ycombinator.com/item?id=24231857)

[2] [https://news.ycombinator.com/item?id=24233970](https://news.ycombinator.com/item?id=24233970)</comment>


IoT Starter Kit from AT&T - <AUTHOR> https://starterkit.att.com/ <comment><USER2> This has some interesting capabilities, but the big question is how well and how reliable?

I've been doing a lot of smart home things recently, and the biggest issue you run into is reliability. The level of reliability you want with your home is much higher than a lot of general-computing tasks are up for. Having your lights work 95% of the time is fairly annoying.

This device working off of AT&T's network, should presumably be fairly accurate if you have solid AT&T coverage. I find that home wifi networks are more prone to interface and intermittent operation than a good cellular network.

Is the humidity sensor in this device from AT&T accurate? Will a command from this device to another system work 99.99% of the time?

The other big issue, of course, is security. I couldn't find details about the level of security this comes baked in with.

<comment><USER3> According to the user guide

[https://s3-us-west-2.amazonaws.com/starterkit- assets/ATT+Cel...](https://s3-us-west-2.amazonaws.com/starterkit- assets/ATT+Cellular+IoT+Starter+Kit+Hardware+User+Guide+v01.pdf)

The sensor is an ST HTS221 capacitive humidity sensor.

[http://www.st.com/en/mems-and-sensors/hts221.html](http://www.st.com/en/mems- and-sensors/hts221.html)

Honestly, this is just a development kit that AT&T contracted Avnet to design just to get developers using a cellular modem over AT&T's network. The development system (from Freescale and Avnet) and transport (Microsoft Azure, which is plenty secure) is unimportant.</comment></comment>


The Power of Introverts: A Manifesto for Quiet Brilliance - <AUTHOR> http://www.scientificamerican.com/article.cfm?id=the-power-of-introverts&page=2 <comment><USER2> Note, the words "Introvert" and "Extrovert" should die. It's like talking about "fatties" and "anorexics". Most people are normal. Introversion (or it's opposite, extroversion) is more or less normally distributed, unlike the bimodal distribution suggested by using polar terms.

"Male" and "Female" are examples of bimodal attributes, for which it can be pragmatic to pretend there's only two extremes. Even then, the folk who don't fit so well in either category warrant a special mention.

Spare a thought for the normal people who don't have 200 real friends (and 20,000 Facebook friends); or live alone in their mother's basement. (Not that introverts necessarily have no friends, which is a whole new can of misconceptions brought on by Myers-Briggs, as explained by Cosmopolitan in the mid-80s).

<comment><USER3> Even then I take issue with the terms. By all popular accounts I was extremely "introverted" when I was younger. Having made a concious decision to change certain aspects of my life, I am now far more balanced, and I have more than one story that makes "extroverts" blush. Not once have I read an article that discusses introversion and extroversion as flexible personality traits.

<comment><USER4> _By all popular accounts I was extremely "introverted" when I was younger. Having made a conscious decision to change certain aspects of my life, I am now far more balanced..._

I'm guessing your level of introversion has not changed one bit. But that your sociality has grown with conscious practice.

Social skills are something you practice. Introversion is something you are born with.

I'm an introvert and everyone tells me I have great people skills and that I am charming and wonderful to have at parties and other events. And I have lots of friend. So how the hell am I an introvert? Simply, after a lot of social interaction I feel mentally drained and need some alone time to recharge my mental batteries. That's introversion.

Not having a lot friends or having anxiety about large social gatherings - that's social shyness and it actually runs rampant among extroverts as well as introverts.

Personal anecdote time:

Every introvert I know, including myself, has no real fear of public speaking. Most get bored by the sound of their own voice when speaking to large groups. Every extrovert I know has a huge fear of public speaking, some honestly fearing it more than death.

<comment><USER3> I felt, and feel, drained in social interactions where my social anxiety becomes an issue. Where it's not an issue, social interactions are great and non-draining. For instance, I'm really looking forward to spending this weekend at a music festival where I'll be floating around with a thousand other people on a river watching some bands play and I know I'm going to have a great time meeting tons of random people.

I also know that nearly every single extrovert attending that festival is going to be just as drained as I am on Sunday morning - empirical proof is the fact that pretty much everybody leaves these things at the same time (even though the gates usually close much later, and the bands are still playing). In fact, I don't know ANY extroverts who don't eventually need time to themselves, either, so I find your definition to also be lacking.

These observations lead me to again question what "introversion" and "extroversion" really is. It seems very difficult to know what's really going on:

EITHER

1\. "introverts" are really just e.g. socially anxious people who subconsciously use "introversion" as an excuse to avoid social situations where their anxiety causes them to feel drained and exhausted; they aren't aware that it's social anxiety causing these issues. It took me YEARS of CONSCIOUS effort to reduce my social anxiety, nevermind the years it took to recognize what it was. I have to wonder how many people have HONESTLY made a similar effort before resorting to claiming they are "introverted" and that's just how they are.

OR

2\. people like myself are really just "extroverts" at heart with a love & approval addiction, and therefore place high value on social situations, which they find draining to the extent they lack self-confidence because that lack of self-confidence reduces the perceived love & approval they receive in those social situations; this would explain why extroverts fear public speaking so much - their outward focus makes them more susceptible to fears of social rejection

How does one begin to test which of these theories is correct? If you think they're both realistic, I really don't see much of an in-born difference between "introverts" and "extroverts". As far as I can tell they might just be very narrow labels describing the symptoms (social anxiety, low self-esteem, etc.) of a set of dysfunctional beliefs.

<comment><USER4> _How does one begin to test which of these theories is correct?_

This brain imaging study:

[http://www.psychologytoday.com/articles/199907/the- differenc...](http://www.psychologytoday.com/articles/199907/the-difference- between-introverts-and-extroverts)

Indicates that the default mode for the introvert brain is to keep the parts of the brain responsible for internal stimulation busy. In extroverts it seem default mode is to pay attention to external stimuli.

While unpleasant social interaction will force everyone to take a break, this would explain why introverts like me find even very pleasant social interaction tiring. It just takes energy to pay attention to external stimuli. Extroverts don't have to spend that extra energy.

That's why one of the tell-tale signs of real introversion is a dislike for music while working. It doesn't matter if it's your favorite music, it's _distracting._ But for extrovert it would not be.

Born introverts are also a tiny minority of the total population, and this combined with everything else makes me suspect extroverts with social anxiety are in fact most of these "introvert" cases.

<comment><USER3> Now that's an interesting, testable theory. That being said, by that definition I seem to switch between both modes of operation. I typically enjoy music initially when I start working on something... but after a while when I'm really into it I have to switch the music off otherwise I can't maintain focus. Maybe I'm just a very confused person :)

</comment></comment></comment></comment></comment></comment><comment><USER5> This topic is always popular here on HN. A pain point even.

<http://news.ycombinator.com/item?id=561311>

<http://news.ycombinator.com/item?id=2657554>

<http://news.ycombinator.com/item?id=2345552>

However most of these submissions do not sit well with me as they try to glorify introversion as some sort of superpower or an exclusive club, and contain a hefty dose of ego stroking.

<comment><USER6> "A pain point even."

I wonder if that's because of the HR/interview/need-to-network thing.

Those on the more introverted side of whatever social mound you may want to define, are as good as, if not better at _actually solving problems and producing results_ as those who network and team-huddle and facebook etc.

It's a "pain point" precisely _because_ there's no reason a somewhat 'introverted' individual should be organisationally penalised for their personality traits when they 'bring the goods' regardless (or even in excess of requirements).

<comment><USER4> I really hate the implication that being an introvert means you are not as good at interviews or HR type networking.

I am an introvert. I have a huge professional network. How? Simply by being nice to people and caring to build a network! And I know plenty of extroverts who have a much smaller network than me because they tend to burn bridges when they leave companies, because being an extrovert doesn't keep you from being kind of a dick.

And as hackers we are often stubborn and passionate about objective truth and I think these HR/networking problems have nothing to do with introversion.

I think introversion is being used as an excuse. And I suspect a lot of introverts are either not introverts at all, or have entirely separate issues in addition to being introverts.

Certainly a lot of what I read about introversion has nothing to do with it, but is clearly about social anxiety.

 _It's a "pain point" precisely because there's no reason a somewhat 'introverted' individual should be organizationally penalized for their personality traits when they 'bring the goods' regardless (or even in excess of requirements)._

That does not happen! The only way I can imagine that happening is if you are an introvert who happens to be a professional party host, or maybe sales. But introverted personality traits do not get you punished professionally if you do any kind of intellectual work like programming! What ever punishment you're seeing, I'm guessing it's due to social issues entirely apart form introversion.

<comment><USER6> The implication is that on a bell curve, you're worse off on one side... that's all I'm "implying".

</comment></comment></comment></comment><comment><USER7> I am an introvert male and one book that really helped me be assertive, certain, spontaneous, and happy in the social arena is "No more Mr Nice Guy" by Robert Glover. Highly recommended!

<http://www.amazon.com/No-More-Mr-Nice-Guy/dp/0762415339>

I have the audiobook version and it's one of few audiobooks that I've listened to more than once.

I also have a mindmap of the book if anyone wants it.

<comment><USER8> I think you just changed my life. Thank you for sharing this.

<comment><USER7> Well, that's always nice to hear. Mind telling me more? :)

<comment><USER8> Let's just say it hits close to home.

<comment><USER7> Kudos to you for daring to confront your problems.

</comment></comment></comment></comment></comment><comment><USER9> I'm an introvert. [1] Additionally, I cannot concentrate in a noisy, distracting environment. I was told -- ad nauseum -- this was my "problem" and that I needed to accommodate and "adapt" to the noise around me. Ultimately, after several decades of doing my best to do so, I burned out -- hard.

Now, "the press" is telling us that "introversion" is good. If it was more than lip service to the latest trend -- fad -- I might be encouraged. But I doubt very much that it is.

In my mind, all these "introverts rule" articles can fuck off and die. Because it's just not true. The world is full of loudmouthed, bullying assholes. And the worst part is when they manage to turn you against yourself.

If you are an introvert. If you need peace and quiet to concentrate. The best thing is NOT to support those who try to stuff you into a cube, or who blast the stereo at all hours because "college is a party".

Get away, so that you can think. And keep in mind that they will step on you and use you if they can. So, don't let them. Be kind to yourself. And to your friends. And to those who truly respect you. But fuck the "touchy feely" propaganda from the media.

1\. I get along just fine with people -- in fact, I'm often considered quite "nice" and people seem to enjoy spending time with me, particularly if they and the setting are not overwhelmingly aggressive. I enjoy spending time with them, too. So, I'm not asocial.

<comment><USER10> Noise really disturbs me too and actually so does movement in my peripheral vision. Over time I have resorted to working for about 45mins - 1 hour 45 minutes at home in the morning before heading to work. I use that time to bring my days tasks to a near solved status. Once I reach that state I can "finish" the tasks off at office inspite of the distractions.

<comment><USER9> I did some self-selected schedule shifting (or more often, extending) and the like. I would not recommend it as a long-term strategy. In fact, I would not recommend it as more than a stop-gap tactic.

(Meaning, when you are "working around", as opposed to choosing the schedule and/or work environment you really want, in the first place.)

<comment><USER10> Thanks - this is sage advise.

</comment></comment></comment></comment><comment><AUTHOR> Here's the full article without page breaks: [http://www.scientificamerican.com/article.cfm?id=the- power-o...](http://www.scientificamerican.com/article.cfm?id=the-power-of- introverts&print=true)

<comment><USER11> While I thank you for your effort, the site seems to strip off the &print=true when I follow your link.

</comment></comment><comment><USER12> Great article! This is definitely something that I had always thought about. The extroverted bias is definitely something that should be rethought. In my experience, I feel much more productive working alone rather than in groups. It allows me to work at my own pace. In working alone, I can keep my assumptions in my head, and have a full understanding of what my tasks are and what needs to be done to be completed. I feel my preference for this work style comes off as closed off, but having worked in different environments I know this way yields the best results for me. Working too often in groups gives a false sense of unanimity, where differing approaches are suppressed. I've also seen decisions be dragged on much longer than it really should take.

<comment><USER13> I like to work alone as well, even though I'm a manager and I'm lucky if I can get 50% of my time head-down writing code. I just feel like I can process so many more ideas thinking about things internally instead of pausing to try to verbalize my thought process. This is not to dismiss the power of two or more minds focusing on the problem from different angles bouncing ideas back and forth. Maybe I just haven't found my pair programming soulmate yet, but I suspect I just prefer to work alone most of the time and get collaborative only at chosen points (design/code reviews, brainstorming, domain expert discussion, etc).

</comment></comment><comment><USER14> The article only touches briefly on the flaws of brainstorming and group work, but there was a recent article in the New Yorker by Jonah Lehrer that delved deeper into this issue and some of the research behind it. (unfortunately only available to subscribers [http://www.newyorker.com/reporting/2012/01/30/120130fa_fact_...](http://www.newyorker.com/reporting/2012/01/30/120130fa_fact_lehrer)) Surprisingly there is decent amount of research indicating that brainstorming is actually less productive than everyone thinks, however the article diverges slightly and explores the history of a few places like Building 20 at MIT where many people from different backgrounds were forced to mix due to the adhoc nature of the offices, etc. Of course I think he referenced another HN favorite, Richard Hamming's classic "You and your research."

It seems that balancing "quiet brilliance" and "keeping your door open" is probably something worth keeping in mind.

<comment><USER15> I wonder why people find this surprising. Groupthink involves substantial compromises so you end up with least-common-denominator solutions. Epics throughout history often talk about the accomplishments of Great (Wo)Men, but not of Great Groups. The idea that groupthink is more valuable is just a hypothesis.

The Nytimes had a similar story recently: [http://www.nytimes.com/2012/01/15/opinion/sunday/the-rise- of...](http://www.nytimes.com/2012/01/15/opinion/sunday/the-rise-of-the-new- groupthink.html?comments)

<comment><USER14> Brainstorming is shoved down our throats from middle school on (in the US, at least) and continues into the workplace. We've probably all sat through painful brainstorming sessions in the process of software development, and in some cases the supposed wisdom of the group is formalized in processes like scrum. So I found it somewhat surprising that this continues despite research indicating it might not be productive.

</comment></comment></comment><comment><USER16> I read a book by another female author that suggested the same theme as this article: The Introvert Advantage - How To Thrive In An Extroverted World by Marti Olsen Laney.

A nice read overall and made me aware of many obvious but often went explained why introverts behave they way they are.

</comment><comment><USER17> This article gives corporate "brainstorming" sessions the what-for, with some justification. However, there are some great ways to run brainstorming sessions to help mitigate the shortcomings cited in this article.

One of my favorites is the de Bono hats: <http://en.wikipedia.org/wiki/Six_Thinking_Hats>

By setting rules and depersonalizing interactions ("That wasn't me criticizing, that was the black hat talking!"), you can get productive, creative thought in groups that might not be possible at the individual level.

</comment><comment><USER18> Emphasis on the "quiet". Be quiet about how smart you think you are; you're probably wrong anyway.</comment>


Perhaps Technical Interviews Suck Because Technical Interviewing Sucks - <AUTHOR> http://danbirken.com/startups/2015/06/12/technical-interviews.html

<comment><USER2> >Rationally speaking, the only people who should prefer interviewing to other things are the people that benefit from hiring talented people, which primarily is equity holders of the company.

I've actually been burned by this one a couple of times. Some people on the interview team recommended against hiring me. That wasn't because they thought I was a bad programmer. Actually, they were concerned that I was too good of a programmer, and they didn't want the competition.

Feedback from hiring manager: "I thought you were great, but some people on my team had doubts. Therefore, no hire."

If the interviews are conducted one-on-one in private, nothing prevents the interviewer from falsely saying that you bombed the interview.

That's one reason "Only hire if everyone on the interview team says yes." is a bad idea. Some people will say no to good candidates, precisely because they don't want competition. Only someone with meaningful equity in the business wouldn't have that incentive.

<comment><USER3> Do you really want to work somewhere in which you function mainly as competition for your coworkers?

<comment><USER2> I haven't worked or interviewed at many places where management was competent enough to prevent that from happening.

Example: I was working somewhere as an employee. They had a contractor, who was probably billing 3x as much hourly, who wasn't as talented. He was the team lead, so he took every opportunity to trash my reputation. If his bosses realized I was more productive than him, he might lose his gravy train. There was nothing I could do. By the time I realized what was happening, all the management thought I was useless.

</comment></comment></comment><comment><USER4> Interviews only exist as a tactic in the goal to bring on valuable people. While it's surely important to bring on good people - and not bring on bad - this just seems to be one of those nebulous skills like 'leadership'. Everyone trying to 'nail it', and its not a skill you're going to get exactly right anyway. I'm tending towards - give up on trying to nail the optimal method of accessing talent.

You have to interview there's no substitute for having a conversation with someone. Then, hire someone as a contractor. You'll see how good they are on the job with a more limited investment, and hire them f/t later if they're good.

Also, I find these 'code for me now' sessions rather undignified - but its a world of young people, and young people are more likely to put up with demeaning worthless crap.

<comment><USER5> Interviews are also a great way to avoid getting blamed for a bad hire.

</comment></comment><comment><USER6> > Rationally speaking, the only people who should prefer interviewing to other > things are the people that benefit from hiring talented people, which > primarily is equity holders of the company.

Citation needed. Most people understand that "adding more people in their group" will lead to "less work per person", so they _will_ benefit from the new hire. I also assume most people see the benefit in choosing their new co- worker, because letting the Boss choose is not in their interests. (I've actually had a boss tell me "I'm not going to take your needs into account because you may not be here down the road.". I made sure I wasn't.)

> Some people will just really like interviewing, [..], but clearly they are > in the minority given the complaints about technical interviews.

The reason people don't like interviews is simple: We're trying to figure out a skill (programming) by proxy (simple exercises and whiteboard sketching). Writing software takes hours or weeks to truly understand a problem enough to write really good code. In fact, sometimes I'm more productive alone with a piece of paper than in front of a computer. It's hard to "test" for that skill.

<comment><AUTHOR> > Most people understand that "adding more people in their group" will lead to > "less work per person"

In my experience hiring new people doesn't mean less work per person, though it might allow for everybody to specialize a little bit more. At the end of the day companies hire more people so more overall work will be done, not so life is easier for existing employees.

> letting the Boss choose is not in their interests

But it hopefully is in the company's interests, which in a perfect world are aligned with yours. And if your interests are not aligned with the company, why should you get to help in hiring decisions?

If you are a valuable employee, the boss will want to keep you happy and not hire anybody who would jeopardize that. The boss wants to hire talented people so the team accomplishes more. In some perverse scenarios, the boss will make bad decisions, but any random employee could make those bad decisions as well (and if your boss is making bad decisions, you should leave anyways).

At least if the boss is making the decisions, you can spend your time coding instead of interviewing. But as stated, if interviewing is a skill that somebody values and appreciates, I think by all means they should find a way to get involved and help the company do it.</comment></comment>


Ten years in, nobody has come up with a use for blockchain - <AUTHOR> https://www.cnbc.com/2017/12/26/ten-years-in-nobody-has-come-up-with-a-use-for-blockchain.html <comment><USER2> On mobile but the original essay ([https://hackernoon.com/ten-years-in-nobody- has-come-up-with-...](https://hackernoon.com/ten-years-in-nobody-has-come-up- with-a-use-case-for-blockchain-ee98c180100)) has definitely appeared on HN before

<comment><USER3> [https://news.ycombinator.com/item?id=15994571](https://news.ycombinator.com/item?id=15994571)

</comment></comment><comment><USER4> > If you brought Bitcoin's transaction volume up to Visa's it would be using > as much electricity as the rest of the world put together.

Nope; that's not how it works. Bitcoin's energy use scales not with the block size but with the value of the block reward. If bitcoin prices rise, more hash power will be applied to compete for it. And when the reward halves, many mining outfits become unprofitable and will be turned off.

<comment><USER5> Bitcoins transaction volume is capped, because of the block size limit. So rising the transaction volume isn't even possible. At least not without Miners aggreeing to a fork. This is also why the prices are so high. Miners have an incentive to not change block size because they earn much more money if their product (transaction spots in the block) is scarce.

<comment><USER6> It still stands that the transactions themselves aren't what are costing energy. I do think the miners incentive to keep fees high is a perverse side effect of the system. In this respect it's healthy that hard forks and altcoins are present to put competitive pressure on BTC core to evolve. Lightning network, if implemented, should do much to improve the situation.

</comment></comment></comment><comment><USER7> among the gazillion uses timestamping is one of them and pretty important</comment>


Report Says Covid-19 Patients Respond to Gilead's Remdesivir, Shares Surge - <AUTHOR> https://www.nytimes.com/reuters/2020/04/16/us/16reuters-health-coronavirus-gilead-sciences.html <comment><USER2> Counterpoint: [https://www.zerohedge.com/health/gilead-pours-cold-water- rep...](https://www.zerohedge.com/health/gilead-pours-cold-water-report-sent- market-soaring-anecdotal-reports-no-statistical-power) (a hedge fund wanted to get out of a position and got someone to do some heavily biased reporting)

It's a dirty game out there.</comment>


Company gives every employee $100K bonus - <AUTHOR> http://www.11alive.com/story/life/2015/12/11/company-gives-every-employee-100k-bonus/77166540/ <comment><USER2> That's much nicer than the zero bonus news and "consolidation of working groups" news that my company announced.

Translated, they've got stuck something in the wringer. Time to start looking. It's always rough being in a company when it starts that swirl down the drain.</comment>


Bluetooth 5 Now Available - <AUTHOR> https://www.bluetooth.com/news/pressreleases/2016/12/07/bluetooth-5-now-available <comment><USER2> Considering every phone I've tested (iPhone 5S, iPhone 6+, Samsung Note, Moto X, Nexus 6P) with 7 different bluetooth headphones (ranging from cheap Amazon ones to expensive LG) I have NEVER found a phone, paired with headphones, that stayed connected especially when the phone is in my side pocket and I'm walking in an open space which seems to make connectivity significantly worse.

For instance getting on the BART being an enclosed space? I never have an issue. All of the headphones I've tested stay connected the entire time without issue. The SECOND I walk out of the station, even in the city, every pair of headphones I've tried work _most_ of the time but typically cut out once every 30 seconds or so. But it's crazy inconsistent because I managed to walk to my office, once, the entire way without it disconnecting.

Seeing as bluetooth 5 helps with range I'm hope I can finally using it to keep my phone in my side pocket and actually listen to my headphones, uninterrupted.

<comment><USER3> Getting 2.4GHz through the human body is hard. The human body is mostly water, and bluetooth is, after all, the same frequency of your microwave oven, which uses 2.4GHz because it's in a band of frequencies from 1-20GHz that water absorbs.

When you're indoors, you don't need to get bluetooth through your body. You're getting reflections off of nearby walls and ceilings which allow your bluetooth devices to communicate across your body, but without going through your body.

When you're outdoors, you no longer enjoy the benefit of reflected RF, and the design of the phone and the headset antennas needs to be very good, so the RF can make it through your body.

It is a hard problem, but a lot of headset manufacturers do achieve it. I'm surprised you still haven't found one that's acceptable. Of course, it's body dependent. Petite women will have less issues then large men, as the RF just has less water to travel through with them.

Today's bluetooth is limited to 4dBm max transmit power for class 2. Bluetooth 5 will be 20dBm, which is a lot more power. This is, actually, the same power that class 1 bluetooth devices now have, so I'm unsure why they brag about the higher power of bluetooth 5, but to be sure, most bluetooth devices now are not class 1.

The higher power will make even bad antenna engineers be able to get bluetooth through your body, but more importantly, you'll enjoy larger range when you are at the gym or in your home. Also, if you worry about RF effects on the human body, your worry can increase now as well!

<comment><USER4> This was a magnificent explanation, and precisely the kind of comment I hope for when reading HN. Thank you for taking the time to share.

<comment><USER5> If I were you, I'd try to forget it as soon as I can, becouse it's wrong. 2.4 GHz is not in the water absortion band (I'd show you a nice graph, but I can't find one that goes to such low frequencies), a microwave would work as nicely in 1 GHz or 5 GHz, what matters is the H-O bonds, that are esentially electric dipoles and are excited when high-ish frequency and power hits them. You probably have noticed that fat heats much faster than wattr in the microwave oven, that is becouse is full of OH bonds, just as the GP is full of shit[1].

This is one of those moments when I wonder if most of the things I have learned in HN are bullshit, I'm usually struck with awe at the sapience of the HN hivemind too, but in times like this...

[1][https://en.wikipedia.org/wiki/List_of_common_misconceptions#...](https://en.wikipedia.org/wiki/List_of_common_misconceptions#Food_and_cooking)

<comment><USER6> I don't think your comment is very constructive, but more importantly what the OP actually said is not wrong.

</comment></comment></comment></comment></comment><comment><USER7> Seeing a new Bluetooth version is like being a fan of a perennially losing sports team. You hope that "Maybe this is year they finally get it together!", but deep down you know they won't. The three certain things in life are death, taxes, and Bluetooth being flaky.

<comment><USER8> What do they not have together?

</comment></comment><comment><USER9> Why is general bluetooth connectivity so "buggy"? Why am I always struggling connecting my iPhone 6s to my bose bluetooth speaker? I would love to understand that.

<comment><USER10> I think we'd need an RF engineer to answer this more thoroughly, but it's my understanding that there are a lot of materials capable of absorbing the low- energy microwaves that it uses as its transmission medium.

Water is a big one, which I think is one reason that having my phone in my back pocket almost always results in a dropped connection to my headphones over the course of working outside for a few hours, compared to my side or front jacket pocket. Too much water in our tissues.

<comment><USER11> Hi! RF Engineer here. Bluetooth sucks for a number of reasons, only a few of which actually relate to RF.

First, we're bad at naming things. Is it BLE? Bluetooth Smart? BTLE? Bluetooth 4.0, or Bluetooth 4 Low Energy? And what does this have to do with ANT+? This doesn't seem to be a big problem, but it's a sign of deeper problems with the spec. In the long run it makes it very difficult for developers to implement.

Bluetooth 2.0 is radically different from BTLE. In 2.0, you had one device which acts like a microphone, and another device which acts like a speaker. This was like getting two people to dance together, it takes a lot of practice to get the joined movements right. If one person stumbles, it all goes down like dominoes.

BTLE on the other hand, acts like a (more familiar) client server model. You come up to the bank teller, and have a limited set of operations you can preform (withdraw/deposit money, open/close account). Here's the catch though... the teller is only open for 10 seconds during a 24 hour day, and moves throughout the city. You have to arrive at just the right time, or you have to wait until tomorrow. (This was done for battery saving.) The throughput is also MUCH slower than 2.0, which makes applications like audio out of the question for now.

There's also a lot of bureaucratic hype surrounding it. If you look at the release from the BT SIG, it seems very much similar to Java's claim that it runs on a bajillion devices. All in all, BTLE seems to be a solution in search of an IoT related problem, much like Java.

So in short, the reason I think it sucks is because it's a very complicated protocol with poor and confusing naming conventions. It sure doesn't help that it keeps getting re-invented! (Although BT5 seems to just be add-ons, finally!) Implementers (both on the HW side and the mobile/desktop side) have a difficult time figuring out how to do things correctly, much less why they need to be done. Things are getting better, but until the next "killer BTLE" application comes out, it's just heart rate monitors and useless iBeacons.

<comment><USER12> You worked on BT specs ? BT seems an acute case of design by comittee. It's huge, full of profiles and corners. Nobody implements it really well, everything moves before it's finished. Makes you dream of wires some times.

<comment><USER13> I was involved in the 1.0 Bluetooth specifications and can confirm it was "designed by committee". IIRC the original wireless specification came from either Nokia or Ericsson and they drove a lot of the initial development. They had already developed the RF technology before the Bluetooth SIG was even formed. The original stated goal for Bluetooth was "cable replacement". Features such as pairing a headset to a phone, or a phone to a laptop were an essential part of the original profiles.

A reason for the complexity was that the BT 1.0 profiles often leveraged existing technology, for example:

\- RFCOMM was a way of sending arbitrary serial data, reusing RS232 comms which were very common.

\- OBEX was a way of sending data which was previously sent over IrDA

\- The "LAN access profile" basically said "use RFCOMM to do PPP over a serial link like you do with a modem"

If you tried to implement any of these from scratch then not only do you have to implement the BT part, you also have to implement the technologies that BT reused.

If you look at the initial SIG members, Nokia and Ericsson took care of the initial phone developments. Intel, IBM, Microsoft and Toshiba represented the PC side of things. I was working for 3Com at the time and we were interested in it as a short range network technology. 3Com developed a network device conforming to the "LAN access profile" but it was never released. 3Com also owned Palm and they were interested in incorporating BT with the hand held devices.

It is interesting to compare BT to Wireless Ethernet (IEEE 802.11) world. The IEEE Ethernet (802.3) specifications are pretty much only concerned with getting data packets from A to B at layers 0 through 2. At layer 3 and above they don't care if those packets are IPv4, IPv6 or some other protocol like IPX.

Bluetooth tried to define everything from the the RF communications all the way up to the application layer. The specification mentions how to the PIN code request should be presented to the user when authorizing a new connection. It also mentions which audio codecs should be supported for streaming audio. The BT profiles also tried to define how to transfer files, business cards or print documents.

These detailed application layer specifications simply don't exist in something like Ethernet. There might be an argument that BT tried to over specify things but it was attempting to give a level of interoperability which we still struggle to achieve over other networks.

<comment><USER12> Yeah, that's how it felt, they provided an out of the box full stack. Maybe this AND the field it lived in, cellphones as opposed to computers, made it too hard to do right. Cellphones changed a lot since the BT 1.0 days, instead of implementing gradual layers, you have to deliver a monolith..

</comment></comment></comment></comment></comment></comment><comment><USER14> 2x the speed.

4x the range.

8x the capacity "to send messages"

Not using the x.x versioning anymore. Just Bluetooth 5 and the next will be 6.

Also, apprently, there's 30.000 companies in the 'Bluetooth Special Interests Group' ?

[Thanks Krasin, gerardnll for correcting me]

<comment><USER15> Does Bluetooth 5 improve the reliability, latency, or the UX? I didn't need more speed, range or capacity from Bluetooth. But I did want it to cease being synonymous in my household with lag, dropouts and pairing failures.

<comment><USER16> well I mean, 4x range bumps it to over 100 ft, where as it used to be 30 right? (Or am I just out of date?)

But lag and dropouts is definitely my same concern with Bluetooth as well..

That said, it's still my preference if only because it's a standard - but it's getting damn hard to find decent Bluetooth mice now

<comment><USER17> 4x range also may mean you get interference from 16x the number of other devices. In a frequency band where everyone and their dog broadcast ([https://en.wikipedia.org/wiki/List_of_2.4_GHz_radio_use](https://en.wikipedia.org/wiki/List_of_2.4_GHz_radio_use)), that may not be a net win.

</comment></comment></comment></comment><comment><USER18> Haven't look at the spec yet, but curious if they've improved the security side of communications.

edit: Here's what I'm referring to, bluetooth 4 LE mode is vulnerable to certain attacks: [https://lacklustre.net/bluetooth/Ryan_Bluetooth_Low_Energy_U...](https://lacklustre.net/bluetooth/Ryan_Bluetooth_Low_Energy_USENIX_WOOT.pdf)

[https://pomcor.com/2015/06/03/has-bluetooth-become- secure/](https://pomcor.com/2015/06/03/has-bluetooth-become-secure/)

<comment><USER19> I was not aware of this[1], thanks for linking. Do you know whether the same is true for non-LE connections? I always thought those were secure, provided there are no bugs in the implementations.

[1] The paper's conclusion summarizes very nicely, though they write it formally and a little confusingly: the thing is utterly broken. They can read contents, even if they key exchange was not observed/captured, and they can inject traffic. Basically it's obfuscated plain text.

<comment><USER11> The non-LE protocol has been pretty difficult to breach from the hacker- hobbyist level. The communication protocol is incredibly complex, and the hardware simply doesn't exist to interface well with it. A lot of BT2.0 (ie: non LE) "security" comes from the fact it's just darn hard to interface with it.

<comment><USER19> That sounds weird, given that it's in so many devices. It runs on a normal frequency and is implemented in billions of devices, how is it hard to interface with?

<comment><USER20> You probably need low-level access to crack the security. Your average Bluetooth dongle won't provide that.

</comment></comment></comment></comment></comment><comment><USER21> Anyone have a good introduction to Bluetooth ~4.0 + reasonable documentation ?

I've always loved bluetooth, the concept of P2P file exchange got me through high school[1] to think about all the levels of tech involved in making your music shared with someone else's phone, but very let down by the documentation and implementation aspect.

As a curious hacker who would like to decentralize his life, I've always wanted to start programming stuff over Bluetooth for any task (remove dependency on internet for purely-local services). But when I tried actually doing so, I was met with an incredibly complex ecosystem I couldn't find RFCs for (or Russian equivalent), with only Bluez as partial reference [2].

I got the impression that if you're not some deep pocketed company or are doing something with phones (preferably with IoT as key buzzword), you're not welcome to the Bluetooth(®) club.

[1] My first bluetooth headset, a Jabra BT620s, bought for 30€ online, is still functional (if a little beaten) after 14 years, delivering about 6 hours of music streaming before recharge. I had to use earbuds recently for a project, and got myself really crossed with the wires thing. How pampered I have been !

[2] At the time I was interested in using BTLE with a linux laptop that clearly supported it, and a flagship Nexus 5. I gave up when I realised at the time, Bluez had only command line tools to access the Low Energy stuff, and some guy had to reverse-engineer the binaries to access some level of API. I really hope this changed/changes.

<comment><USER22> [https://people.csail.mit.edu/albert/bluez- intro/c54.html](https://people.csail.mit.edu/albert/bluez-intro/c54.html) is a great intro.

Reading the code here is a good second step. [https://github.com/sandeepmistry/noble](https://github.com/sandeepmistry/noble)

After you've gone through those, the bluetooth spec is useful for specific questions.

</comment></comment><comment><USER23> Has anyone here had issues with bluetooth interference from.. traffic lights?

My Sennheiser Momentum wireless headphones seem to be running into this issue. It doesn't happen all the time, but when it does I notice it happens when the traffic lights switch (e.g green to red). There must be some kind of signal interfering with bluetooth that's emitted at that point, though I can't understand why since all traffic lights should be wired, to my knowledge.

For reference this is in Berlin, Germany. Perhaps it's something to do with the traffic tech they use in Germany.

<comment><USER24> An increasing number of roads administrations use Bluetooth to track traffic movement. They can get a signature of a car at one intersection, and track that car as it moves through the city. I guess they look for any Bluetooth device in the area. Supposedly it's anonymized, but you never know. I know they do this in Sydney Australia, not certain where else.

<comment><USER25> Interesting, I'm in Melbourne and at least once I got interference when I was crossing at an intersection. Maybe that's why.

</comment></comment></comment><comment><USER26> Related: Nordic Semi nRF52840 announced today, with BT 5 support and additional on-board peripherals (including ZigBee)

[https://www.nordicsemi.com/eng/Products/nRF52840](https://www.nordicsemi.com/eng/Products/nRF52840)

</comment><comment><USER27> Still no audio profile that supports Opus. Why are we still using a 20 year old audio codec (SBC) for Bluetooth speakers?

Opus is low enough bitrate that it could even theoretically be used over BLE (ignoring latency problems), while still wiping the floor with SBC.

Regardless of whether BLE transport is possible, it depresses me that Opus support still hasn't been added to the A2DP.

<comment><USER28> We got brand new 25 year old codec now! PATENTED and owned by Qualcomm

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

<comment><USER29> I tried to use that and after I received an expensive aptX-LL capable receiver I found out my Google Pixel doesn't support aptX!

I've been wanting an Opus powered headset too, for years. Maybe someone can make a non-A2DP opus receiver and some type of virtual audio device in PC and Android?

</comment></comment></comment><comment><USER30> > Bluetooth 5 continues to advance the Internet of Things (IoT) experience by > enabling simple and effortless interactions across the vast range of > connected devices.

What I guess is missing for Bluetooth IoT are standard profiles for IoT devices. Currently there are almost only products which speak their own protocol and need their own app. The only thing that comes a bit close to a standard is HomeKit by Apple that also works over Bluetooth, but it's closed and only Elgato managed to imlement it: [http://www.forbes.com/sites/aarontilley/2015/07/21/whats- the...](http://www.forbes.com/sites/aarontilley/2015/07/21/whats-the-hold-up- for-apples-homekit/#7c4a10b3322b)

It's kind of sad, because bluetooth seems to be the right protocol for this:

\- it's supported by almost all devices (contrary to zigbee which needs a bridge)

\- it's not totally broken in regards to local security like zigbee

\- it keeps IoT devices in a local network where they belong in contrast to the WiFi IoT devices that form a botnet

\- it takes less power than wifi

</comment><comment><USER31> Wow, this press release is horrible. Full of useless business jargon. Ctrl+F "IoT": 9 results. Why do they write these things? The only people who care about bluetooth press releases are tech-literate enough to understand at least mildly useful information about the new standard.

<comment><USER32> Yes. I'd love to hear what modulation scheme they use. Or what kind of network protocols they support. But also more basic things like: is it now possible to pair multiple headphones with a single player device?

</comment></comment><comment><USER33> As someone who is building an applied AI hardware product, what can we expect from BT5 ?

> Key feature updates include four times range, two times speed, and eight > times broadcast message capacity. Longer range powers whole home and > building coverage, for more robust and reliable connections. Higher speed > enables more responsive, high-performance devices. Increased broadcast > message size increases the data sent for improved and more context relevant > solutions.

When will the chips be shipping anyone know?

<comment><USER34> Keep an eye out for this. Should be available very soon

[https://www.nordicsemi.com/eng/Products/nRF52840](https://www.nordicsemi.com/eng/Products/nRF52840)

<comment><USER35> Dev kits seem to already be available: [http://www.digikey.com/short/3594m8](http://www.digikey.com/short/3594m8)

</comment></comment></comment><comment><USER36> With no mention of audio/music improvements, I am not hopeful this release will do more than continue down the same path.

</comment><comment><USER37> Here is the Core v5 Spec PDF (26mb with 2822 pages) [https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?d...](https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=421043&_ga=1.9726513.560532406.1481142849)

</comment><comment><USER38> I wonder why 802.11ah isn't getting much industry love. It has a range of 1km! That's enough to cover an entire home and yard with "good enough" low- bandwidth coverage. Combine this with a mesh network and we could get very large private networks without many devices.

<comment><USER39> It's very new, I don't know if the standard is finalized yet and I don't think there is many chip for it and if there are, the price is probably prohibitive.

</comment></comment><comment><USER40> Oh great. More powerful transmitters at 2.4, and everyone is wearing at least a couple of them. I just got my wifi channels sorted. Talk about range and connectivity all you want. 2.4 can only take so much before everything starts fighting with everything else.

And KSP just updated too.

</comment><comment><USER41> Is Bluetooth 5 compatible with 4.x? That is, can a Bluetooth 4.x Central connect to 5 Peripheral (or vice versa)?

Does anybody know the power usage (idle, advertising, data transferring, etc.) of BT 5 compared to BT 4.x LE?

Thanks

</comment><comment><USER42> I should have asked this earlier, but is there a good diagram/discussion of the steps to attach bluetooth audio?

</comment><comment><USER43> What's the likelihood that this can be an update to existing products so I don't have to buy all new hardware?

<comment><USER44> I would say 0 chance. Vendors typically need to rev silicon to support new bluetooth releases.

</comment></comment><comment><USER45> Hopefully this finally means lossless audio.

</comment><comment><USER46> Is this one still going to change pitches several times in the middle of the song with top of the line hardware?

</comment><comment><USER47> I cannot think of a single way in which Bluetooth has changed my life. Of the Bluetooth devices I have, I do exactly the same things I've always done, just with slightly more annoyance.

My smartphone let me answer emails and burning questions on the go, while also letting me give up my car. My VR headset is making me completely rethink what User Experience means to the point of making the current usage of the term UX just downright laughable.

But that's actually beside the point. I don't actually need Bluetooth to _change_ my life. I need it to get rid of the wires in my life.

And if it worked as advertised, I could do that. But Bluetooth devices... they're just always a tad sucky. And the ways in which they just feel bad is in the secret society handshake of doom you have to do every time you want to use the device because it's 2016 and for some reason my devices still can't reliably pair with multiple other devices.

And then once they are connected, the latency in the communication almost makes them useless. I can't use Bluetooth headphones to play games, which is usually when I want to wear headphones. I can't use Bluetooth in any of my motion tracking wearable hardware prototypes, which is ostensibly the sort of thing Bluetooth wants to cover.

Something that might work for me: decouple the Bluetooth pairing from the host computer. Make it a part of the dongle. Make a dongle that is basically the wireless equivalent of a USB hub, and it's to _that_ that I pair my devices. I'd be happy to bring that dongle with me everywhere I bring my Bluetooth devices. That might actually let me use my Bluetooth mouse on my home PC, on my laptop, and on my work PC.

Finally, would someone please design a decent, full-sized keyboard, with Bluetooth support.

<comment><USER48> BLE devices actually tend to work quite well. If you try a Logitech MX Master Mouse, or an Apple Pencil, or a Microsoft mobile keyboard, you will find that they all perform very well. And most importantly, the dreaded "pairing" is only done once, ever.

<comment><USER49> My MX master needs to be paired at least a few times per week. It also doesn't wake up my Macbook Pro reliably. It sucks because other than that I love both devices.

<comment><USER50> I would check the software (as others have suggested) on the MBP side of things. I'm on Win 10 on a Dell M3800, and I haven't had to pair my MX Master since the first time I did it, over a year ago.

</comment></comment></comment></comment><comment><USER51> I don't really think that Bluetooth is an industry-wide practical prank that's gotten totally out of control (you weren't let in on the joke, and I wasn't either), but I do think that it's nearly indistinguishable from one.

</comment><comment><USER52> Wait. What? I'm still waiting for reasonable adoption of 4 (re:BLE) ...

</comment><comment><USER53> Why hasn't Bluetooth been dumped for audio applications? The bit rate is atrocious even to a non audiophile, while my 5.8ghz wireless headphones for PC sound fantastic. Why is this?

</comment><comment><USER54> The title is wrong until hardware/software out there supports it. A spec does release does not mean an immediate vendor adoption.

</comment><comment><USER55> Will it still kill my laptop's wifi connection speed if I try to use it?

</comment><comment><USER56> Little too late, bluetooth as a technology is way passed it's hey days.

</comment><comment><USER57> Does it finally come in different colo(u)rs now?</comment>


Restack: Full-Stack ReasonML - <AUTHOR> https://github.com/dysinger/restack/#restack-full-stack-reasonml <comment><USER2> I was very interested in reasonml and had high hopes it would gain a lot of traction, but for an outsider, there doesn't seem to be a lot of activity on reasonml itself, the last release is from 18 months ago and if I'm not mistaken, there's no public repo of reasonml itself. Despite this you see projects like onivim 2 and esy using it, making me wonder if I'm missing something. Anyone here knowing what the state of reasonml development is?

<comment> huy-nguyen ReasonML is just the language syntax so once it has reached reasonable stability, there won't be as much development. Most activities happen in BuckleScript compiler (OCaml to JS) and there have been a lot of substantial releases in the last 6 months. [https://bucklescript.github.io/blog/](https://bucklescript.github.io/blog/)

<comment><USER3> So reason is like coffeescript for ocaml.

<comment><USER4> Kinda, but with less hassle. You don't need to output ocaml files as both the native build tool (dune) and the js compiler (Bucklescript) support it out of the box.

</comment></comment></comment></comment><comment><USER5> Reason/OCaml is truly a secret weapon, beating the averages and all. The reach this language has is incredible. Whether you work on React UIs, REST/GraphQL servers, desktop apps, Unix systems programming, or even unikernels, it never feels like the wrong tool for the job and is always fun all the way through.

<comment><USER6> OCaml was my first serious language, and while I think it's a bit weak for "programming in the large" (cumbersome types, typeclasses, lack of type annotations sometimes hurts) I'm still incredibly fond of it. Unfortunately, I haven't had much experience using it recently, as most of my work is in Python / Scala etc.

I'm assuming you're a current, up-to-date user, so I'd like to ask you:

\- what are the current reasonable options for a StdLib? Last I checked, the default lib was still very poor, while JaneStreet's I found barely documented.

\- Multicore I guess I can forgive, it's not like there are any other modern GC languages that make multi-threading particularly easy (with the possible exception of Java).

\- What's an example of a recent codebase written in "modern" OCaml / Reason?

<comment><USER7> > it's not like there are any other modern GC languages that make multi- > threading particularly easy (with the possible exception of Java).

Go is another exception, goroutines are a core part of the design.

<comment><USER8> BEAM languages too.

</comment></comment></comment></comment><comment><USER9> Unikernels... is that what they mean by "full stack"! I thought it would be just JS and some kinda web server.

<comment><USER10> 'Fullstack' seems to mean something different to different people. In some sense it's valid to call a kernel-to-frontend stack fullstack. In another sense it's valid to call just a webserver-to-frontend fullstack. Depends :-)

</comment></comment><comment><USER11> It's worth noting that although OCaml give you the very cool option of deployment with unikernels, it's perfectly possible (and more straightforward) use regular binaries or containerised binaries instead.</comment>


Show HN: I made an app to make it easier to use Google image search - <AUTHOR>

I think Google image search is great. It helps you find out where a particular image comes from and sometimes images related to it. Some forums use attachments and you can't necessarily see if you aren't logged in, and that Google can't access. You have save this image and then upload it to Google. Sometimes you also have images in power point or word documents that you wonder where they came from. Most every OS has some sort of print screen functionality to easily capture pictures from any application or even from a movie. In Windows its print screen or alt+print screen if you want to capture a single window.
I wrote a small web app that allow you to paste an image and crop it so you can search for that part of an image. It stores the image in memcache so you don't need to worry about the image being stored well except by Google.
It only works on chrome and Firefox since AFAIK the other browsers seem to have issues with copy and pasting of images.
http://gimagesearch.com <comment><AUTHOR> clickable link: <http://gimagesearch.com></comment>


Recommendation UK Start Up Law Firm - <AUTHOR>

Hi I discovered your site after I came across an article http://zanesafrit.typepad.com/zane_safrit/2009/08/10-legal-tips-for-your-startups.htm
As for myself I am setting up an Ecommerce site and am seeking legal counsel.  I was wondering whether you knew of anyone that you could recommend based in London?
Many thanks,
Mardi <comment><USER2> Welcome Mardi. Someone here might be able to help you but I suggest you provide some more details about your business to make the most of your time here.</comment>


Monkey Patching For Robots - <AUTHOR> http://involution.com/2008/07/16/monkey-patching-for-robots/ <comment><AUTHOR> > I don't really understand why Jeff is writing these slime pieces on > metaprogramming. ASP.Net must be like a drug inducing delusional thinking. > Jeff's logic is equivalent to reasoning that driving should be outlawed > because cars are dangerous. However, just because a few people drive drunk > doesn't mean that no one should drive!

> Oddly, I would get behind a law to make drunken monkeypatching a felony.</comment>