The Rise and Fall of Thinking Machines (1995) - <AUTHOR> http://www.inc.com/magazine/19950915/2622.html <comment><USER2> The guys from Thinking Machines (at least quite a few of them) ended up starting a very weird enterprise software company called Ab Initio. They're an odd company who doesn't even get included in Gartner surveys because they won't release any information about their product. The only reason they get any business is because they participate in "bake-offs" with big companies like international banks and blow the competition (IBM, MS, Oracle, etc) away with fully scalable Proof of Concepts.

I work with Ab Initio software sometimes, and its weird and annoyingly "enterprisey", but due to the parallel computing background of the guys who started Ab Initio, the software was capable of scaling up storage and processing long before anyone came up with Hadoop. Obviously its extremely closed-source stuff with a proprietary language used to configure it.

I hate enterprise software companies, but Ab Initio is certainly pretty cool compared to the other ones, and the people I meet there who are old Thinking Machines guys are super brilliant and interesting.

Another interesting point: the author of this article is Gary Taubes, who is the metascience guy who got big into low carb, high fat diets and the science that supports them.

<comment><USER3> A whole lot of TMC alumni also wound up at Sun Microsystems. These included Guy Steele, Greg Papadapoulos (for a time, Sun's CTO), John Rose (a major JVM developer), Lew Tucker (who was running their cloud computing division for a while), and a whole lot of hardware engineers who were key in a bunch of different capacities.

<comment><USER4> Also, Brewster Kahle, founder of the Internet Archive, is a TMC alumnus.

</comment></comment></comment><comment><USER5> Anyone have a clear video of the CM-2 LEDs in action? Can't seem to find anything on Youtube. It is a beautiful piece of hardware:

[http://www.mission-base.com/tamiko/cm/CM-1_500w.gif](http://www.mission- base.com/tamiko/cm/CM-1_500w.gif)

While search I found this awesome post about someone rescuing a panel from a CM-5:

[http://www.alternet.us.com/?p=1272](http://www.alternet.us.com/?p=1272)

<comment><USER6> If you're ever near Maryland head over to the National Cryptologic Museum where you can see a CM-5 still running. I just saw it a couple days ago.

</comment></comment><comment><USER7> What were the compute cells like in the Connection Machine? The article uses the phrase "single-bit processor", but that doesn't sound all that useful - you'd want something with at least a little memory and a decent instruction set.

Too small a cell and it runs out of work and spends most of it's time waiting on the network. Too big and you'll run into packaging problems.

<comment><USER8> Guy Steele talked briefly about this in an interview with Dr. Dobb's magazine [1]. Here's the relevant excerpt:

As my leave of absence was ending, I was still involved at Carnegie Mellon and showed up for a seminar given by Danny Hillis [[http://www.edge.org/digerati/hillis/](http://www.edge.org/digerati/hillis/)] about the CM-1 Connection Machine [[http://mission.base.com/tamiko/cm/](http://mission.base.com/tamiko/cm/)]. He went on quite enthusiastically about artificial intelligence and neural networks but thought the CM-1 was less suited for numerical programming. Whenever you tell me that you can't make a computer do something, it's a red flag. I believe the Turing hypothesis. The only question is the efficiency of the calculation. I believe in crunching the numbers, doing the calculations, and finding out whether an assertion is true or not.

So while Danny finished the lecture, I scribbled calculations on the back of an envelope. Okay, suppose you did the arithmetic bit serially, like the PDP-8S? A 32-bit floating-point multiply you have to multiply two 24-bit significands, that's going to take 600 time steps. For the additions, a logarithmic number of shifts, each will take 24 time steps...It turned out that a floating-point add would take about 1/2 a millisecond and a multiply a millisecond. Sounds terrible, but you've got 64,000 processors.

DDJ: So you could do 64,000 of these calculations in a millisecond.

GS: That's up in the range of 100 million operations a second, equivalent to a Cray 1, which was the supercomputer of the day. So after the lecture, I went up to Danny and said, "You said this is a terrible numeric machine, but I can tell it's approximately the equivalent of a Cray 1." And he replied, "Can we have dinner tonight?"

[1] [http://www.drdobbs.com/jvm/a-conversation-with-guy-steele- jr...](http://www.drdobbs.com/jvm/a-conversation-with-guy-steele-jr/184406029)

<comment><USER9> Being able to _theoretically_ do 100 million operations per second doesn't make a machine competitive with a Cray 1. You also have to consider stuff like the memory and I/O bandwidth. If you can only get 1000 floating point numbers into memory in a second, being able to run at 100 megaflops doesn't help much. Also, you can't really use all those processors unless you have an algorithm that's massively parallel. Any time your algorithm hits a piece of code that's sequential rather than parallel, you've gone from a Cray 1 back to a PDP-8.

<comment><USER8> The fundamental assumption they were making, though, was that they would be using parallel algorithms. They intended to do things like finite-element analysis where each element would be pinned to a particular processor, and would only need to communicate with neighbours, which was exactly the kind of thing this architecture was designed to do.

</comment></comment></comment></comment><comment><USER10> An entertaining article by Hillis about Richard Feynman's involvement in Thinking Machines: [http://longnow.org/essays/richard-feynman-connection- machine...](http://longnow.org/essays/richard-feynman-connection-machine/)

<comment><USER11> You beat me to the punch, came here to post exactly this. A very entertaining story and I couldn't stop laughing when they sent Feynman to get office supplies (!!!) because they didn't quite know what to with him.

</comment></comment><comment><USER12> Interesting that nCube [1] was also mentioned in the article. I remember HRB Systems (here in State College PA - and later part of E-Systems, now Raytheon) bought nCube computers that were based on the HyperCube architecture. I was at C-COR in 2005 when we purchased nCube from Larry Ellison's holding company and added their VOD servers to our product family. Now that C-COR has been merged into ARRIS, the legacy of nCube lives on in that company's VOD/IA servers [2].

[1] [http://en.wikipedia.org/wiki/NCUBE](http://en.wikipedia.org/wiki/NCUBE)

[2] [http://www.arrisi.com/products/product.asp?id=17](http://www.arrisi.com/products/product.asp?id=17)

</comment><comment><USER13> When I was a teenager, back in 1993, I played with this this genetic image generator by Karl Sims, running on a Connection Machine with 32768 processor: [http://www.karlsims.com/genetic-images.html](http://www.karlsims.com/genetic- images.html) (At the Pompidou Center, a contemporary art museum).

It obviously blew my young mind, with the 16 screens, the ability to select an image as the seed for the new series, the endless playability and the vertigo of not being able to ever go back and find any series again.

I don't know if a Cray would have been less or more suited to that kind of interactive installation. But it surely was a incredible feat for the time.

</comment><comment><USER14> this is the fat-tree connection diagram for one of the cabinets of a CM-5. it was posted on a wall at one of the national labs in the US which had the pleasure of working with a CM-5 around the time War Games was in theatres. People still gushed about how nice that machine was to program 10-15 years later. SyCortex tried to do something similar with their computers, unfortunately they failed and with them the last interesting connector architecture...

[http://i.imgur.com/jHtf4QB.jpg](http://i.imgur.com/jHtf4QB.jpg)

</comment><comment><USER15> I'm conflicted about Hillis. On one hand there's stuff like this, and especially his involvement with the Long Now foundation (if you haven't checked out his design for the 10,000 year clock, you really should; clever solutions to engineering challenges that almost no one has ever thought about before): [http://longnow.org/clock/](http://longnow.org/clock/)

On the other hand he's part of Intellectual Ventures: [http://www.intellectualventures.com/inventor- network/senior-...](http://www.intellectualventures.com/inventor- network/senior-inventors/w.-daniel-hillis)

</comment><comment><USER16> I always loved their motto:

"We're building a machine that will be proud of us."

</comment><comment><USER17> >Hillis is what good scientists call a very bright guy -- creative, imaginative, but not quite a genius.

What an odd classification.

<comment><USER4> That's my assessment too.

When I learned about the CM, I thought it was crazy. How could a SIMD machine work for AI? Intelligence emerges from the interaction and integration of multiple, somewhat independent "agents" \-- not really the right word but I can't think of a better one. This is _Marvin Minsky 's own theory_, to which I happen to subscribe, but even if I didn't or even if you don't, I still can't understand how Marvin got sucked into this (except that Danny was engaged to his daughter Margaret).

The key point is how SIMD machines handle conditionals. The conditional "branch" is emitted, and those processors on which the test fails simply don't execute the next _n_ instructions. This means that for a complex conditional that's rarely satisfied, only one or two processors out of the tens of thousands the machine might be built with would actually be executing. This is why you wouldn't run a compiler, for example, on a SIMD machine: most of the time, most of the machine would be idle.

Anyway, I wasn't involved in TMC, though I knew people who were. Nobody asked my opinion, nor would they likely have given it much weight if they had (I'm sure there were skeptics with much better credentials than mine who also were not listened to). But I was right. As I once heard someone else comment, the CM turned out to be useful for approximately the complement of the set of problems that it was intended for. It wound up being pretty good for number crunching, at least for a while until better things emerged, but useless for AI.

<comment><USER18> > How could a SIMD machine work for AI?

I guess it depends on how you define AI, from the excellent article linked above:

[http://longnow.org/essays/richard-feynman-connection- machine...](http://longnow.org/essays/richard-feynman-connection-machine/)

"Part Two of Feynman's "Let's Get Organized" campaign was that we should begin a regular seminar series of invited speakers who might have interesting things to do with our machine. Richard's idea was that we should concentrate on people with new applications, because they would be less conservative about what kind of computer they would use. For our first seminar he invited John Hopfield, a friend of his from CalTech, to give us a talk on his scheme for building neural networks. In 1983, studying neural networks was about as fashionable as studying ESP, so some people considered John Hopfield a little bit crazy. Richard was certain he would fit right in at Thinking Machines Corporation.

What Hopfield had invented was a way of constructing an [associative memory], a device for remembering patterns. To use an associative memory, one trains it on a series of patterns, such as pictures of the letters of the alphabet. Later, when the memory is shown a new pattern it is able to recall a similar pattern that it has seen in the past. A new picture of the letter "A" will "remind" the memory of another "A" that it has seen previously. Hopfield had figured out how such a memory could be built from devices that were similar to biological neurons.

Not only did Hopfield's method seem to work, but it seemed to work well on the Connection Machine. Feynman figured out the details of how to use one processor to simulate each of Hopfield's neurons, with the strength of the connections represented as numbers in the processors' memory. Because of the parallel nature of Hopfield's algorithm, all of the processors could be used concurrently with 100\% efficiency, so the Connection Machine would be hundreds of times faster than any conventional computer."

edit: This made me wonder how Moore's greenarray forth computers might be used for neural nets...

<comment><USER4> Okay, fair enough, neural nets (often called "connectionist AI") might have been the one kind of AI that involved enough number crunching that the CM was a favorable choice for running it.

But if you wanted to do, say, genetic evolution of your neural net topology -- not sure that had been thought of then, but people do it now -- the CM wouldn't have worked very well.

Anyway, if my rather faint recollection is accurate, the hot application I heard TMC people talking about the most back then was ray tracing.

</comment></comment></comment></comment><comment><USER19> Thanks for posting. Really enjoyed the historical read...

I wish I'd known the backstory of the antique fire engine that I'd periodically see driving around the Lechmere area (back when Lechmere was still "a thing" :) )

</comment><comment><USER20> How successful are the "neuromorphic chips" (or even GPU's) in doing what TM tried to do?

</comment><comment><USER21> From what little I saw, Sheryl Handler indeed had no business skills.

My experience was trying to be the 1st or 2nd person to fill a particular job. I had a great interview process (except for Danny, a friend, initially giving me a hard time for not being in school ($$$)) ... and then nothing. So long, that it was more than a month later, when I'd accepted and started another job, that they contacted me to proceed.

As I understand it (I knew practically everyone who could do this job), it took them three tries to fill it.

The worse story, though, which was well sourced, was that they once contacted an applicant's _current workplace_ to get recommendation info....

In part, I suspect they're another example of "Death by Lethal Reputation" in hiring: [http://www.asktheheadhunter.com/halethalrep.htm](http://www.asktheheadhunter.com/halethalrep.htm)

</comment><comment><USER22> "Hillis envisioned his machine eventually becoming a sort of public- intelligence utility into which people would tap their home PCs, thereby bringing artificial intelligence to the world."

Jesus can you imagine AT&T as an AI? Shudder.

<comment><USER23> Isn't that a description of Google?

<comment><USER9> Not really, since Google doesn't do anything related to AI (OK, maybe self- driving cars, but that's not part of their public internet services). IBM's Watson might turn into a public AI utility, however.

<comment><USER23> I once typed "That thing where a boat is replaced one part at a time" and Google came back with the right answer.

If that's not AI I have no idea what is.

(And if you don't think that Hillis envisioned his AI doing things like "answers random questions" and "translating between human languages", what _do_ you think he had in mind?)

<comment><USER9> My guess is that Google's search algorithm has no idea what a "boat" is, and that it just has some clever algorithm that matched your query against some words in one of its indexed documents. That doesn't sound like it would qualify as AI.

An AI program would have some kind of knowledge representation[1] and inference engine that would allow it to reason about boats. If your query was "that thing where a boat gives birth to a tree", it could tell you your query didn't make sense, as opposed to just returning nothing relevant.

By the way, when I tried my nonsensical query on Google, the first result was about a Syrian woman giving birth on a boat. So Google doesn't even understand the basics of grammar, let alone that a boat is an inanimate object that can't give birth to anything. That doesn't sound like "intelligence" to me. There were AI programs in the 1980s that could do better than that.

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

<comment><USER24> Given that we don't know how google search currently works, that's some serious speculation on your part. We've made quite some progress since the 80s.

For example, neural word embeddings learn which words are synonyms without any input (and google recently release a faster algorithm for doing this called word2vec). There are algorithms for parsing sentences, and numerous databases and ontologies representing manually curated 'concepts'. Google could well be using some of these within it's search.

That it doesn't come back and say "that doesn't make sense" might only be because the search is designed to always try to find _something_ , even if it's the wrong thing. That's because it's posed as a ranking problem.

In any case, what is intelligence? One of my favourite sayings on this topic is this (and I forget who to attribute this to, but it's not mine):

"We will never have artificial intelligent. Every so often we come up with a problem to test for intelligence. When a computer finally beats a human at this problem, detractors are quick to backtrack and claim 'well that's not really intelligence' and proceed to come up with a new test for intelligence."

I suspect that this will likely go on for a very long time. In the meantime, we've been using intelligent algorithms for decades already.

</comment></comment></comment></comment></comment></comment><comment><USER25> OK, now I get the complaints about [https://hn.algolia.io](https://hn.algolia.io) that I was reading earlier. First glance it's absolutely terrible. I have no idea if it will get better if I persevere, but I've just tried searching for things that have "rise" and "thinking" in the title so I could review the discussions from the past gazzilions of times this has been posted.

Nightmare. Absolute nightmare.

I really, _really_ hope they take on board the feedback they've had, because this is horrible.

I hate to be so negative. Maybe it'll grow on me, although I feel seriously disinclined to make the effort.

 _Added in edit:_ I can't even work out how to use the search function to find that discussion. Eurgh.

 _Added in further edit:_ OK, now found it, but I'm reluctant to say anything more as my impressions are so unremittingly negative. I hope you guys have thick skins and serious programming ability to make it usable quickly. For now, there's no way I'll be using it, so the search box is now useless. Bookmarking HNSearch.

 _Final edit:_ OK, I'm surprised, this has only been submitted on five previous occasions under this title. I thought it was more.

<comment><USER26> All feedback are read and welcome :) We've already deployed a few UX improvements and are currently working on improving the usability. We'll deploy it soon, preview available here: [https://hn.algolia.com/beta](https://hn.algolia.com/beta).

<comment><USER27> A couple requests:

1\. sort by date. this is very useful to find discussions which have dropped off the front page but might still have interesting updates.

2\. verbatim search (right now "algolia" -> "algorithm")

3\. fix the fact that _this thread_ doesn't show up when I search for "algolia" with [last 24h] checked.

<comment><USER26> 1\. Sorting by date and not by points often produces ugly results (especially on long period) so we introduced the "last 24", "past week" and "past month" options filtering the resultset but keeping the default ranking. Would love to have more feedback about it, because even it's different than before, we think it fits quite well.

2\. verbatim search is something we do not provide yet, I opened a feature- request our side :)

3\. Have you check [All] or [Comment] instead of default [Story]?

(I've just updated hn.algolia.com with last ranking/design tweaks)

<comment><USER27> 1\. I disagree, but ok. Comment rankings may or may not be very interesting, and if there are many comments in a 24h period it is totally unhelpful (want to find latest comments with [x] keyword)

2\. cool :)

3\. I had checked [All], but the results look much better now (and this discussion shows up).

<comment><USER28> 1\. You're right, it doesn't fit your use-case. We'll implement a strict ordering in the next iteration.</comment></comment></comment></comment></comment></comment>


The McGurk Effect - <AUTHOR> http://en.wikipedia.org/wiki/McGurk_Effect

<comment><USER2> If you want to take it up a notch, my mother with an auditory deficit (<http://specialed.about.com/cs/iep/a/auditorydeficit.htm>) hear's the same sound despite changes in phenome being shown.

</comment><comment><AUTHOR> Here's the video: <http://www.youtube.com/watch?v=G-lN8vWm3m0>

</comment><comment><USER2> That is pretty fascinating actually.</comment>


Donald Trump Calls Out Mark Zuckerberg on Immigration - <AUTHOR> http://money.cnn.com/2015/08/17/news/companies/donald-trump-mark-zuckerberg-immigration/index.html

<comment><USER2> Here is a simple solution.

Want more minorities, women, men who are either unskilled, unemployed and want to work, get back into work?

Have companies work with the colleges, universities and have the right teachers training the skills companies want in people to hire.

Then cancel, yes cancel all the H1Bs and ask them nicely to leave. Make it a offense for companies to hire undocumented workers. Put that CEO/Business owner in jail.

Then lower taxes.

You'll see a net benefit of those out of work whoever they are (black, white, latino, asian - all US citizen). Either go back to school, get into employment or start a business.

You'll see companies start hiring actual American people to get back to work.

Tax receipts will go up. The welfare state will actually go down, drastically. Less social programs and the deficit may actually go down. Students may actually start to pay back Student loans, by being in work.

The flow of money will stop being sent abroad, will actually go back into the towns, cities where it belongs.

Remember. Companies employ local people. Those local people need services. Those services pay for cleaners, cab drivers, waiters/waitresses, all these types of jobs. Taxes also go to the city and pay for lots of other jobs.

It's like an eco-system. Look at when JKF lowered taxes.

I remember reading somewhere, CEO's were getting tax breaks because jobs were going off-shore. This is crazy. They should get bonuses for having American Employees. They should be in prison for going off-shore. How many towns/cities in the US have been destroyed by CEOs for profit?

</comment><comment><USER3> There are plenty of experienced software engineers, aged 40+, many with families, who could do the jobs that Zuckerberg & co. want done.

We hear a lot about diversity, but nothing about AGE. Why is that?

<comment><AUTHOR> I'm sure Zuck and those like him would argue its because engineers over 40 just aren't a good "cultural fit" in today's tech companies.

<comment><USER4> It's more like we're too "wise" to work 80 hour weeks in perpetuity.

Yes, we learned that moderation is keeps things in balance, and we are going to choose not to work in that kind of environment.

</comment></comment></comment><comment><USER5> The tech companies should report how many software engineers of various age groups they employ and also should report how many people with H-1B visas they employ.

<comment><USER6> by law they report a lot of things, you can use this to search through: [http://www.myvisajobs.com/Search_Visa_Sponsor.aspx](http://www.myvisajobs.com/Search_Visa_Sponsor.aspx)

</comment></comment><comment><USER7> Trump's policy sounds like affirmative action for US citizens.

Yes, the H1-B visa system need to be policed so it's not used entirely to drive down wages of local specialized employees. I'm under no allusions that foreign H1-B workers have any right to work in the US, but neither do unemployed US citizens -- which is what Trump is advocating. This is blatant pandering to those working class voters who have been forced out of the US economy for macroeconomic reasons. Trump's message is for the working class, despite the fact that he is specifically talking about the H1-B program in this instance.

In any case, Trump has no evidence that he will be capable of lobbying Congress better than corporations do. He even complains in his immigration policy document[1] that "Completion of a visa tracking system – required by law but blocked by lobbyists" has allowed foreign citizens to overstay their visas.

A vote for Trump is a vote to show frustration with the current political system, not a vote to fix the current political system.

For anyone who wants a radically different idea from a presidential candidate, look towards Lawrence Lessig[2].

[1] [https://www.donaldjtrump.com/positions/immigration- reform](https://www.donaldjtrump.com/positions/immigration-reform)

[2] [https://www.yahoo.com/politics/who-is-lawrence-lessig-and- wh...](https://www.yahoo.com/politics/who-is-lawrence-lessig-and-why-is-he- running-for-126512471106.html)

*edit to clarify the "working class" reference, despite the article not touching on working class.

<comment><USER8> That's a pretty harsh statement.

It's hard for average American IT workers to compete with H1B when many of latter carpool, share houses, and are willing to work for less.

Sure they pay income taxes, but over $22 billion gets remitted to india from U.S. That's remittance of after tax wage alone. Total IT expenditure is likely in the hundreds of billions if you include Indian subcontracting firms, u.s. investment in India, etc.

Look, I don't like Donald Trump. I also recognize there are many talented H1B out there that play vital role. But current implementation of H1B is completely broken.

A lot of H1B positions in the U.S. has nothing to do with U.s companies' global competitiveness, because many of them are employed in service sectors like insurance companies.

</comment></comment><comment><USER9> We no longer live in the industrial era in which workers were pretty much interchangeable. Workers are not interchangeable at all. Zuckerberg has already hired everybody in the USA whom he deems suitable. If he cannot import the additional people whom he believes to be suitable, he will simply have to put his engineering shop there where these people are; just like IBM has already done.

<comment><USER5> > Zuckerberg has already hired everybody in the USA whom he deems suitable.

First you have evidence of this statement I assume.

Moreover, Google has opened a very large office in NYC in one of the very largest office buildings in the city. Facebook, (and Amazon and Microsoft and Apple) have much smaller offices for engineering staff.

When Facebook and other firms replicates Google's efforts in NYC, I might become more convinced that "Zuckerberg has already hired ...."

</comment></comment><comment><USER10> Trump's position paper on immigration is by and large an appeal to the worst nativist sentiments lurking across the political spectrum [1]. Read on balance it is a call to end the very idea of America as a land of opportunity for aspiring people around the world, _yearning to be free_.

His H1B spiel has to be understood in that context .. it's fine to discuss if the program is abused. It's fine to criticize mass immigration, to maintain security, to advocate reasonable limits on the _rate_ of immigration so as to not overburden social services etc. But what he is doing is pitting aggrieved minorities against each other, peddling the lie that "foreigners are stealing your jobs" to the worse off, and "foreigners are stealing your taxes" to the better off.

Quite honestly, Trump was winning me over in many ways before this. We do have too much political correctness, it's great that someone is speaking against special interests, we should make better international deals, we were stupid to arm rebel armies in the middle east etc. In most of his speeches he had come out in support of legal immigration, but looks like he has gone full nativist now. Too bad, he just lost my vote.

If his policies are implemented, we will destroy what PG eloquently describes below [2].

 _There is such a thing as Americanness. There 's nothing like living abroad to teach you that. And if you want to know whether something will nurture or squash this quality, it would be hard to find a better focus group than hackers, because they come closest of any group I know to embodying it. Closer, probably, than the men running our government, who for all their talk of patriotism remind me more of Richelieu or Mazarin than Thomas Jefferson or George Washington.

When you read what the founding fathers had to say for themselves, they sound more like hackers. "The spirit of resistance to government," Jefferson wrote, "is so valuable on certain occasions, that I wish it always to be kept alive."

Imagine an American president saying that today. Like the remarks of an outspoken old grandmother, the sayings of the founding fathers have embarrassed generations of their less confident successors. They remind us where we come from. They remind us that it is the people who break rules that are the source of America's wealth and power._

[1] [https://www.donaldjtrump.com/images/uploads/Immigration- Refo...](https://www.donaldjtrump.com/images/uploads/Immigration-Reform- Trump.pdf)

[2] [http://paulgraham.com/gba.html](http://paulgraham.com/gba.html)

</comment><comment><USER11> If we want to survive and grow as a nation we need to become a nation of entrepreneurs. We need to get back to a moment in time when that was part of our DNA and people were hell-bent to make things happen. The kind of drive that resulted in this nation is gone today, the vast majority of us are neutered versions of what we could have been or should become.

By promoting the message that we can't create businesses, innovate and grow the economy without importing talent (through H1B's and other programs) we are, at the same time, telling our own population "you are useless in the new economy and nothing whatsoever will come from you". Which, of course, couldn't be farther from the truth.

If we don't have enough tech talent from within it can only be because we have failed to develop it. And this, in turn, is due to many factors, some straightforward some not so much, some common sense, structural, cultural, financial and political.

Yes, there's a lot of fix. And no, professional politicians are not going to be able to do it.

Why? Because the fitness function of a politician is wrong for a long term approach to solving difficult problems. Problems that might require pissing off loads of people in the interest of emerging in a better position at the end of the process. Sometimes in chess you have to sacrifice your queen to win the game many moves later. The naive player isn't comfortable with such a sacrifice. It takes a good teacher (and experience) to learn why that might be a good move.

The right thing to do is to launch a massive effort to make our population the most entrepreneurial and technical people on the planet. And that's not easy. And that will take a lot of effort and time.

Politicians, due to the nature of their fitness function, cannot and will not do this. The moves they'd have to make are career-ending in the context of having to survive elections every two, four or six years. Adapting to natural selection, for their kind, takes the form of pandering for votes during campaigns and laying low until the next election.

Few pay the price for not accomplishing anything of note. In fact, while in tech we are lauded for trying, failing, pivoting, again and again and again until we succeed, in professional politics a single failure can end a career. And so doing nothing at all is better than trying.

One could very well argue that the politician fitness function isn't really optimized for the benefit of anyone but the politician and the ecosystem or tribe they belong to. This is THE huge problem with the idea of having a professional political class. They are rarely good for anything other than getting themselves from election to election. Some do nothing in between, some create problems and a lucky few are in office through economic booms they had nothing to do with yet are quick to take credit for when elections come-up. The politician is a parasitic organism with few benefits.

I've always thought this country needed to make a shift from being ruled (yes, ruled) by a professional political class to being governed by term-limited representatives with "skin in the game" and consequences attached to performance at various levels. And, yes, I really think that in the age of technology and global commerce and at a time when we are about to step into 20 trillion dollars in foreign debt we need tough-as-nails business people at the helm. The guy (or gal) who only cares about surviving elections WILL NOT FIX OUR PROBLEMS. EVER.

I firmly believe we are living a moment in time when if we do not get our education, finances, economy and our industrial base in order nothing else will matter over time. We can't think ourselves invincible. We can't think we are going to last forever. We have to work to maintain position in the world and we have to make the right decisions. We have to EARN IT, others, China, will not give us or grant us our position. We earn it or we suffer a fundamental negative change in our standing in the world with the concomitant changes this would entail.

By the time the next president takes office we would have utterly wasted eight to fifty years (you pick the term, it doesn't matter) doing nothing, accomplishing nothing and actually going backwards in many respects. Fixing this will be a tall order. It will be far worst than it was eight to ten years go. And it will most definitely be a business problem.

I am not suggesting Trump is the right person for the job. He may very well be. I don't know. What I am saying is that other than him and Fiorina I don't see anyone else on either party who is truly qualified to deal with the kinds of problems we will have to content with. If you close your eyes and listen to what all the candidates say all the professional politicians sound exactly the same and say pretty much the same things. Their alignment is with themselves and their careers, not the difficult road ahead, one that will require very tough decisions across the board.

So, yes, I think H1B's can be seen as a problem. Yet, we have many more to deal with. Each a piece of the overall puzzle. If we can't graduate good technicians, engineers and scientists at greater rates from within we might as well hand over the keys and call it done.

<comment><USER12> Utter garbage.</comment></comment>


Half of the US government's financial assets are student loans - <AUTHOR> https://community.finimize.com/t/graphic-of-the-week/1044/25?u=anders_finimize <comment><USER3> Recent reports from the Treasury Department show that the US government owns nearly $1.5 trillion in student loans.

That's pretty sad when you think about it: the US government's #1 financial asset is debt owed by tens of millions of its young people for university education that didn't even necessarily qualify them for a real career.

Millennials are the most educated generation in history. Yet there are record numbers of them working off student debts as waiters and bartenders, and supplementing their income on the side with 'gigs' (like being an Uber driver).

...

On top of all that, young people will spend their entire working lives paying into a pension system that likely won't be there for them when it comes time to collect.

The Board of Trustees of Social Security tells us that the program is going to completely run out of money within the next 15 years. Millennials' retirement horizon is far beyond that.

...

Miami-based homebuilder, Lennar Homes, recently announced it would pay a big chunk of a student loan for any borrower buying a home from them.

Through its subsidiary Eagle Home Mortgage, the company will make a payment to a buyer's student loans of as much as 3% of the purchase price, up to $13,000.

Debt has become such a keystone of our society, that the only way we can afford something is to swap one type of debt they can't afford with another type of debt.

\-- Simon Black

<comment><USER4> Millennial here, thanks for the daily reminder of the future I have to deal with.

Failing government systems, check. Unaffordable educational system, check. Limited housing and land, check. Degrading climate, check.

Some days I believe I just may find a way out of it. But, for every day I participate in the rat race is just another lost when I should be working on building a better future for my family.

<comment><USER5> Come to Eastern Europe, your student loan money is enough for a whole new life here.

P.s. honestly, I don't understand how ppl who are so hoplessly indebted are not migrating here. Bulgaria offers very cheap life with the opportunity of doing business with the EU and the US. Why work 24/7 when you can enjoy a good life in a place where the local people and economy need a foreigner to lead them in the business and globalizing world?

<comment><USER6> Because 80% of people (at least Americans) live <50 miles from their birthplace. People don't like to move. There's a lot of hurdles moving. I know I moved across country (west coast to the south) and there is still a big culture shock after a few years.

tldr: There's more to the equation than finance.

<comment><USER4> I'm considering moving to the east-coast near a mentor of mine. Land is cheaper (when compared to the Northwest) and it's in Zone 5/6 which is pretty good for growing.

<comment><USER6> From my experience, having some sort of a support structure to move into greatly lessens some of the problems. One of the biggest challenges in moving is finding that new support structure. And I guess this also is highly dependent on how social you are to begin with.

</comment></comment></comment></comment></comment></comment><comment><USER7> This ignores $2.466 trillion of US treasuries and $1.771 trillion of Fannie Mae, Freddie Mac, and Ginnie Mae mortgage-backed securities owned by the Federal Reserve.[a] Although the Fed, as the US's central bank, operates independently of the federal government, its balance sheet should properly be consolidated. The largest financial assets owned by the US federal government are therefore US treasuries and government-sponsored-entity mortgage securities, not student debt.[b]

\--

[a] Figures are as of November 2017. See page 12 here: [https://www.federalreserve.gov/monetarypolicy/files/quarterl...](https://www.federalreserve.gov/monetarypolicy/files/quarterly_balance_sheet_developments_report_201711.pdf)

[b] Many people don't realize or understand that the largest creditor of the US federal government is the US federal government, through the Federal reserve. The US federal government currently pays interest on $2.466 trillion of treasuries to the Federal Reserve, which, at the end of each year, sends all that interest back to the US Treasury.

</comment><comment><USER8> Anytime the US wants the world to be a certain way but just can't quite get reality to conform debt is our answer. Everyone should be a homeowner but for some reason isn't? Simple, just give them cheap loans for houses. Everyone should be educated but it doesn't seem to be happening? Debt time. Why do we do this? Because it allows us to pretend that complicated long-term structural problems are simple short-term capital problems. People just need some activation energy to get over the hump, that's all. We're addicted to debt, if we ever admitted that it's not solving these problems for us we'd have to contend with reality, and who wants to do that? Especially a reality as dismal as that of public education.

<comment><USER9> Well, it does actually solve the problem in the sense that it actually causes houses to be built and students to go to college. Probably this indicates the real problem is more about bad monetary policy and bad tax policy, not a fundamental shortage of resources.

Of course, it would be better to improve monetary policy rather than just making a bunch of dumb, risky loans leading to a dramatic boom and bust.

But that would require policymakers understanding basic macroeconomics, so don't hold your breath...

<comment><USER10> Okay you piqued my interest... "bad monetary policy" usually means we should be on the gold standard, but I've never heard that before as a solution for student loans. What are you proposing is the monetary fix?

<comment><USER9> A gold standard is terrible monetary policy, even worse than the status quo.

Good monetary policy would be the fed doing NGDP level targeting a la Scott Sumner: [https://www.mercatus.org/system/files/NGDP_Sumner_v-10%20cop...](https://www.mercatus.org/system/files/NGDP_Sumner_v-10%20copy.pdf)

Monetary policy only goes so far though, if you actually want to distribute resources in an equitable way, you probably also need good tax policy.

Good tax policy would be taxes which decrease wealth inequality (e.g. luxury consumption taxes, land value taxes).

<comment><USER11> I don't think the Mercatus Center is the best place to look for good or sincere ideas on how to distribute resources in an equitable way

</comment></comment></comment></comment></comment><comment><USER12> US government backed student loans were a huge mistake.

We needed something like rent control enforced on public universities, for government backed loans. But we didn't.

So it created a situation that caused an enormous amount of millennials to be taken advantage of by universities and colleges. Those universities and colleges pumped full of government loan cash became increasingly predatory. They increased their administrative costs, they increased their tuition costs, and they lured unsuspecting teenagers into taking enormous debt for worthless degrees like gender studies over engineering.

This has been a catastrophe, that will be used as a case study of unintended consequences.

The extreme amount of student loans has lead to extreme unrest, unless action is taken quickly it will only get worse. We see it in the rise of the alt-left and alt-right fueled by extreme fanatics in desperate and angry situations.

<comment><USER13> >worthless degrees like gender studies

Worthless eh? I bet if companies Uber hired some of these gender studies majors they might not have fucked up?

<comment><USER12> I can't tell if you are joking, so I'm taking it seriously.

Uber's human resources and or lawyers should have caught many of its missteps. Common undergrad degrees for HR being in management, business administration, and related business degrees. Lawyers are well lawyers.

Gender Studies doesn't prepare you for business as well as an actual business related degree, it prepares you for a mostly academic career which has limited spots.

That being said, even STEM and business degrees are worth less and less as competition increases. You now need a degree and often years of experience for jobs.

The only thing that really angers me is charging 60,000 dollars for a gender studies degree, and having a student take loans for it. 1/100 might get lucky and work at a big tech company as a tech evangelist, but it's not sustainable.

We need universities to be far more accountable about what degrees actually lead to jobs.

<comment><USER11> I feel like you're missing their point. You can make the case that a gender studies degree prepares you for a mostly academic career only insofar as companies aren't creative enough to find a way to use the unique skills that someone with a gender studies degree has developed.

Maybe Uber wouldn't have had the toxic culture they ended up with if they had hired conscientious people who have spent time studying things like how gender power dynamics play out in the small - and empowered them to speak - <USER2> of relying solely on business graduates.

</comment></comment></comment></comment><comment><USER14> Notwithstanding entirely valid concerns about student loans, this is pure clickbait. The feds also own 30% of the nation's land (640M acres), and have the exclusive right to collect $3T+ per year in taxes (not to mention they can literally print dollars).

<comment><USER15> What is the impact to the American economy when the Federal government has to write down the value of over half its assets as the average lendee dies without paying?

<comment><USER16> Nothing? That person was also collecting social security and medicare if they were old enough.

<comment><USER17> And if they weren't they don't have to account for that unfunded mandate.

</comment></comment></comment></comment><comment><USER18> One thing to keep in mind is that "assets" are far from "spending". Governments generally do not accumulate assets, everything they collect is reserved for spending (besides some operational accounts and things like foreign reserves). The student loan program is an exception and so figures heavily in this stat.

<comment> d--b Yes, the title makes it sound like the US government is in a dire situation because it has its solvency tied to students paying back their loans...

But mostly the government is a borrower of cash and not a lender.

Here the government is indirectly financing people's education by offering cheaper loans than the market would give. There is not much to talk about...

<comment><AUTHOR> The rate that the government can borrow at is determined by the quality of underlying assets.

US 10-year note is 2.58% at the moment, but Argentina's is 7%.

<comment><USER19> Well the US is somewhat special in that the dollar (or currencies tied to it) is used by 70% of all global transactions.

The other day a minister in China floated the idea of buying less US Treasuries. It became apparent that there just weren't a lot of other instruments available with which to invest that sheer volume of money.

</comment></comment></comment></comment><comment><USER20> Healthcare is a much bigger problem for the government than student loans. The federal government spends about 1 trillion per year on healthcare, while the total of all student debt in the U.S. is around 1 trillion. This is true on a societal level too. U.S. healthcare spending is 17% of GDP, up from 5% in the 1960s. The problem with student loans is that the burden falls mostly on the least financially secure people. This is as opposed to Medicare/Medicaid where the government tries to foot the bill rather than allow people to get in massive debt.

</comment><comment><USER21> Thanks to baby boomers for depleting resources of this nation and now younger generations are stuck in this financial mess. Had they been more visionary with better overlook then today there would have been better opportunities for younger generation to earn and pay back those loans.

[https://www.vox.com/2017/12/20/16772670/baby-boomers- millenn...](https://www.vox.com/2017/12/20/16772670/baby-boomers-millennials- congress-debt)

<comment><USER22> Let's not be too harsh on the baby boomers, they were trying to create a better world for the next generation, they chose chose to do it via an unsustainable system that relies on top-down direction of the economy using inappropriate tools. Can you blame them for that? Top down worked great at things like rebuilding europe after a war (admittedly an eminently unfalsifiable task)...

True, there were minority voices clamoring that this would result in ruin, but to be fair there are still well regarded "smart" people who argue that the problem for millennials is that those people in charge just didn't do it ENOUGH.

<comment><USER19> > they were trying to create a better world for the next generation

I don't see a lot of evidence for this, except perhaps Reagan's program of deficit spending on an arms race to bankrupt the 'evil empire'. Maybe people should be forgiven for believing in the trickle-down lie once, but it's now simply a transfer of wealth scam.

<comment><USER22> Well the current neoliberal program of low or negative interest rates to stimulate economic growth and 'reinvestment' is basically trickle-down, too, just in a less direct fashion plus actively impoverishing the poor (instead of merely taking less from the rich). So it's basically still believed - just as a more obfuscated scam.

</comment></comment></comment></comment><comment><USER23> So here's the US financial accounts report from the Fed (the source listed): [https://www.federalreserve.gov/releases/z1/current/html/defa...](https://www.federalreserve.gov/releases/z1/current/html/default.htm)

I don't see anything in that report that confirms this.. did I just miss it? where did the data come from?

<comment><USER24> I was able to get similar numbers from: [https://fred.stlouisfed.org/series/FGCCSAQ027S](https://fred.stlouisfed.org/series/FGCCSAQ027S) and [https://fred.stlouisfed.org/series/FGTFASA027N](https://fred.stlouisfed.org/series/FGTFASA027N)

</comment></comment><comment><USER25> Would it be better if banks owned all the debt? I think the really bad statistic is just how much student debt there is.

Progressives in Oakland want the city to create a municipal bank. If they do, maybe progressives will then complain "Y% of Oakland's assets are mortgages and small business loans."

For any level of student debt, I think it is obviously better that the government own a lot of it, as the payments the government receives can be used for spending. The payments banks receive go to shareholders. In fact, given the government can borrow money at 2% while student loan rates are like 4-8%, it might not even be a bad idea to have the government issue treasuries and buy more student loans. Administratively, perhaps this would be bad for reasons I can't guess ex ante, but off the cuff I can't see why it's bad for the government to own lots of student debt, especially when government is what enforces the debt contracts (siphoning off your wages in the event of default, etc).

One could argue that the government should just cancel all or most of that student debt. Maybe so, but if that would cause the government to forgo $X billion in revenue every year, I think it would be better to just have another $X billion in spending. However, if the $X billion would just go to more tax cuts for the super-wealthy then perhaps it would be a good idea.

<comment><USER26> >In fact, given the government can borrow money at 2% while student loan rates are like 4-8%, it might not even be a bad idea to have the government issue treasuries and buy more student loans.

If 40% of the loans are in default and/or the borrowers aren't making payments for some other reason (which is the actual case) it would be a very bad idea.

<comment><USER25> It is possible to choose the loans. The default rate for for profit colleges is high, but you don't need to buy those loans. [https://www.brookings.edu/research/the-looming-student- loan-...](https://www.brookings.edu/research/the-looming-student-loan-default- crisis-is-worse-than-we-thought/)

</comment></comment></comment><comment><USER27> This is such a huge problem and it's so easy to see the collapse over the horizon.

There are just a few _small_ differences between education today and education 30 years ago. Off the top of my head, you can go online today and see lectures for upper level MIT courses for free... Literally, the best university in the world has lectures available for free. And instead of learning the dewey decmial system and taking 10 books and flipping through looking for a specific answer, you can google any specific topic and immediately get relevant information. And you can go on reddit.com/r/askscience and ask questions to experts in any field. Just a few _small_ differences.

What the hell are people paying for, then? The _" college experience"_? Does it really cost tens of thousands of dollars to validate that someone has adequately learned from consuming educational material? Schools today have dorms that look like luxury hotels and the best gyms in the country; what the _fuck_ is going on?

Meanwhile, primary education hasn't fundamentally changed in 100 years, outside of a select few schoolboards adding iPads to the classroom and thinking to themselves, "Yes, _now_ we're modern." Nevermind that we still exclusively group children by their age group rather than their educational progress until they're 18. Nevermind that we have never questioned the idea of teaching children 7 different topics every single day, wasting extraordinary amounts of time with context switching, instead of focusing on a topic for longer periods (as it works in the real world.)

I just do not understand how this debt is going to be managed when _(not "if")_ the education system is fundamentally disrupted. Economists more or less universally agree that federally guaranteed student loans are unsustainable and make education more expensive. So what's taking so long?

<comment><USER28> Position Requirements

* Bachelor's degree in CS

As someone without a degree, there are quite a few positions unavailable to me. Some positions state a degree is required even though they would take an exceptional developer, but many others are very strict and require the degree. The pedigree of the employees can be important when the company is in the market to be bought or sold.

<comment><USER29> The bachelors isn't important for it's inherent value, only as an arbitrary way of ranking people in a rat race.

</comment></comment></comment><comment><USER8> Debt is the American way, it has been since the very beginning. When George Washington was elected President he was so broke he need a loan to get from Mount Vernon to NYC for his own inauguration.

</comment><comment><USER30> Oof. What happens when a huge chunk of these default because educating everyone doesn't magically create jobs for everyone?

<comment><USER31> The banks that loaned out all that money will need massive bailouts or else shut down.

Let's be clear, students will NEVER be allowed to default these loans, nor should they. They must either pay it or take their debt to the grave and pass it down to their heirs.

<comment><USER32> > Let's be clear, students will NEVER be allowed to default these loans, nor > should they.

Why not?

<comment><USER31> Because that was the deal.

<comment><USER33> I agreed to this deal and I feel like I do need to pay off the debt, but I'm lucky in that I have a job that will allow me to do it the normal way if the crypto market crashes (heaven forbid, plz). What about the 18 year olds whose helicopter parents never allowed them to imagine a filthy reality like failing to go to college?

Regardless of whether that kid should have been free-thinking enough to see outside their existence's bubble, it's irresponsible to exploit their ignorance for profit. Most of these kids haven't ever seen a debt-ridden life like they're signing up for. I grew up with parents who ranted and raged about debt, and I still did it. Are you sure the problem lies with the kids signing the papers (I guess clicking the "Get your loan here!" button these days)?

<comment><USER34> The deal is that student loans in chapter 7 bankruptcy can only be discharged for undue hardship. Chapter 13 can't discharge student loans according to my understanding.

</comment></comment></comment></comment></comment></comment><comment><USER35> The number one asset is the ability to tax an economy of $20 trillion(ie. 320 million Americans) to extract $3.7 trillion annually(2016). Holding the equivalent in 3% 30yr US bonds to give you that income would be about $125 trillion dollars. So this asset is 100 times the student debt one.

</comment><comment><USER36> is this for real? does anyone have any info that proves this right/wrong?

<comment><USER16> Almost assuredly false. The Federal Reserve balance sheet is US treasuries and mortgages, and Fannie Mae/Freddie Mac are mortgages as well. Probably not a complete data set.

<comment><USER37> If that's the case, shouldn't this be flagged?

Also, you mentioned the Fed, which isn't the same thing as the US gov't, right?

<comment><USER16> I don't really want to go down the conspiracy theory rabbit hole of who does what at the Fed but it's main decision makers are government appointees, it was established by an act of Congress, and it remits its profits to the Treasury.

Ginnie Mae is part of the government as well (also mortgages). Fannie/Freddie are GSE's but currently under directly government control since the financial crisis.

I'm not sure how the accounting works, but they are somewhat autonomous and have their own balance sheets.

<comment><USER38> It's fascinating accounting-wise. Matt Levine has a good write-up here: [https://www.bloomberg.com/view/articles/2016-08-08/fannie- an...](https://www.bloomberg.com/view/articles/2016-08-08/fannie-and-freddie- will-be-profitable-after-their-next-bailouts-too)

The interaction of the accounting rules and the new tax plan was fascinating too because the value of their deferred tax asset changed:

> "A reduction in corporate tax rates would require us to measure our net > deferred tax asset using the new rate in the period in which the rate change > is enacted, resulting in a one-time charge through the tax provision in the > period the tax rate was changed, ..."

More here: [https://www.housingwire.com/articles/42130-trump-to-sign- tax...](https://www.housingwire.com/articles/42130-trump-to-sign-tax-reform- into-law-that-will-trigger-fannie-freddie-treasury-draw)

</comment></comment></comment></comment></comment><comment><USER39> This might be a bit idealistic and not align with US principles - but doesn't this actually show it would be much smarter to keep education free for everyone and just straight up pay for it with a higher taxation?

These numbers look to me a bit as if gov is paying anyway, but with the current model it gets the money back only (eventually) after the citizens education, and pushes a lot of people into debt.

All of that for essentially avoiding that one person might add a few $$$ to the pot that could benefit another...

I know US policy sees the self-responsibility of the individual completely differently, but having grown up in Austria and profited from top education that is _naturally_ free for everyone, all of this student debt stuff looks like madness to me.

</comment><comment><USER40> Trivially solved by magically declaring it off the books as was done with mortgages.

This isn't actually a meaningful number, The far more important number is the converse: what percentage of total student debt (and total residential mortgage debt) is held by the US government? Almost all of it.

Those "markets" only exist because the government _is_ the industry, and everybody would save money if the govt cut out the intermediaries (banks) who are collecting huge fees for nothing.

</comment><comment><USER41> I have been skeptical of the real "value" of cryptocurrencies (outside the technical ability to allow for value transfer, which does not necessitate the coins having value inthemselves), but assuming this is true I have a lot less faith in dollar bills and the fact that they are backed by the "full faith and credit" of the US government. If the student debt bubble really does pop, the government (and thus all of us tax payers) are going to be the ones holding the bag.

<comment><USER42> In what sense is it a bubble? What assets are being bid up by enthusiastic investors and could suddenly collapse in value?

<comment><USER41> The fact that private lenders are incentivized to give out more and more leads to universities charging more and more. Even with all the money being spent, the same (or in some cases less) level of education is being provided. On top of that, how do you repossess someones education in the case of default? You can't, so the government can do one of three things:

1.Pay off the loan holders (by printing money, huge inflation) 2.Allowing indentured servitude 3.Debt forgiveness (now all the lenders are out of money)

Sadly, I think the 3rd option is the best one, but is by no means actually a good one.

<comment><USER42> Private lenders are tiny part of the market in student loan originations, even a smaller part in undergradatute loans.

The federal government is the overwhelmingly dominant player and they set the terms by fiat rather than any kind of market.

The "lenders" are the USG, and the cost of capital is only the imputed inflationary effect of transforming a loan into spending. Given the experience of the last decade those inflationary pressures may well be smaller than we had thought.

</comment></comment></comment></comment><comment><USER43> That looks like just intangible assets. It doesn't seem to include land, buildings, vehicles, vessels, etc. The US Government is the largest landholder in the Western states. A single aircraft carrier is worth billions. Also, back when I took out a student loan, the government was merely a guarantor, which would be a liability. I wonder if they offset that. I think they need a more precise source citation.

</comment><comment><USER44> This chart is very informative. It looked a bit familiar to me and it reminded me of this link: [https://www.advisorperspectives.com/dshort/commentaries/2017...](https://www.advisorperspectives.com/dshort/commentaries/2017/12/07/the- fed-s-financial-accounts-what-is-uncle-sam-s-largest-asset)

The charts look a bit too similar...

</comment><comment><USER45> Found posted earlier here

[https://www.advisorperspectives.com/dshort/commentaries/2017...](https://www.advisorperspectives.com/dshort/commentaries/2017/12/07/the- fed-s-financial-accounts-what-is-uncle-sam-s-largest-asset)

Other charts as well

</comment><comment><USER46> Seems like a fairly safe investment since even bankruptcy doesn't take care of them... Until the Government will have to forgive all of those loans...

</comment><comment><USER47> how does this bubble pop? isn't this debt something you can't default on?

<comment><USER48> Just because someone can't default on their loan doesn't mean they can pay it.

It's also not hard for me to imagine, in the near future, a social media movement like "don't pay back your loans."

<comment><USER47> ya, I had this thought as well, but then the IRS garnishes your wages until you die. So how does it pop? Seems like a lot of people would have to go to jail or something along those lines for it to actually happen?

<comment><USER48> They can only garnish your wages if you're a W2 employee, or use the banking system. Contractors need to pay their own taxes, and the IRS can't garnish what it can't see.

Gig economy + cryptocurrency + social media + student loan debt could lead to some very interesting times.

<comment><USER49> "Interesting time" as in jail time for money laundering and wilful tax fraud?

<comment><USER48> If 80% of millennials collectively decided not to repay their student loans, there would not be enough space in prison for all of them.

<comment><USER50> Prison stocks up 80%, overcrowding of scum in prisons unaddressed by current Congress.

</comment></comment></comment></comment></comment></comment></comment><comment><USER51> Back in 2016 we had one major drawback. Hubby lost his job, I had an accident that made me quit my job as well. We collected thousands of money from our Home Equity line of credit (HELOC) account which works sort of like a credit card to raise our son through college. This caused our credit scores to drop drastically, the bank almost terminated our line of credit and at that point I almost regretted my existence in life. I am using this opportunity to say a BIG THANK YOU to my sister and her BFF she introduced to us as a credit score hacker and counselor. He cleared our HELOC debt of $142,000 and raised our scores to 765 and 758. My special thanks goes to this genius hacker, we purchased our second home last week for our son. As we have promised to give him more clients if he should successfully fix our problems. We are living testimonies and confident of this miracle worker to handle all jobs, I will implore everyone facing challenges with credit scores, credit report,bankruptcy,mortgage issues to reach him on pyramideye(.)hack (AT outlook(.) com )

</comment><comment><USER52> buy gold now. you'll thank me later

<comment><USER53> Delicious, nutritious gold.

</comment></comment><comment><USER54> Administrative bloat feeding into administrative bloat.</comment>


Developer needed for BIG idea project. (equity) - <AUTHOR>

There's a new frontier in customer knowledge about to happen, and we'd have a headstart. The design is done, portion of the platform is built, and REAL CUSTOMERS are waiting for a beta version. Let's build it :) <comment><USER2> OK so this post is hyperbolic and sets off most of my BS alarms, but it appears to be Nick Frost, who has been pretty impressive in hustling for his startup <http://startupli.st/> so it might be interesting.

It'd probably be worth it for a developer to look past the hyperbole and contact him to at least see what the idea is.

<comment><AUTHOR> Thanks Eric. This project deals with location and influence, and I've done extensive customer development, research, and validation. You're right about the hustle, as I have a chain of retail stores, the Palms Hotel in Vegas, and many online customers looking forward to using this product.

</comment></comment><comment><USER3> Did you go to school to learn to sell to developers? If so, you should ask for a refund on your tuition.

<comment><AUTHOR> Yep sure did. Thanks!

</comment></comment><comment><USER4> What's this new venture? How can I contact you directly?

<comment><AUTHOR> Email me at firstname.lastname@example.com, thanks!</comment></comment>


Introducing Faster GPUs for Google Compute Engine - <AUTHOR> https://cloudplatform.googleblog.com/2017/09/introducing-faster-GPUs-for-Google-Compute-Engine.html <comment><USER2> > For infrastructure, Compute Engine and Google Container Enginer allow you to > run your GPU workloads with VMs or containers.

It's been my understanding that container engine does not support GPUs and I can't find any documentation stating otherwise.

<comment><USER3> Perhaps they jumped the gun? It's obvious that work has been ongoing to e.g. automate GPU provisioning on Google's container OS image:

[https://github.com/kubernetes/kubernetes/pull/45136](https://github.com/kubernetes/kubernetes/pull/45136)

<comment><USER4> Hello,

(Product Manager @ Google Cloud)

Sorry for the confusion on this.

Our K80 and P100 GPUs are supported on GKE _alpha_ clusters at this time. To request access to the alpha GKE cluster program for GPU support, please submit a request using this form: [https://docs.google.com/forms/d/1JNnoUe1_3xZvAogAi16DwH6AjF2...](https://docs.google.com/forms/d/1JNnoUe1_3xZvAogAi16DwH6AjF2eu08ggED24OGO7Xc/viewform?edit_requested=true)

Note: We will update the blog on this too.

Thanks Chris Kleban</comment></comment></comment>


The Man Who 'Grew Young at 70' - <AUTHOR> http://www.nextavenue.org/article/2014-12/man-who-grew-young-70 <comment><USER2> I do not like how the article easily dismisses the point that this guys wife became a centenarian with "Good genes, perhaps, but probably not her husband's exercises, which she was said to have shunned."

</comment><comment><USER3> > or a tad obsessive (page after page on the importance of chewing one's food)

> He reportedly died in the mid-1920s, when he was in his early 80s. It wasn't > age that did him in, but choking on a chicken bone.

Guess he really was onto something with that chewing thing.

<comment><USER4> Chewing is extremely important, and since it's so increasingly common to drink something with meals, people are doing it less and less.

I've even heard people say the can't not-drink with meals because they'd choke. To which I simply reply "Well, I chew my food and that avoids the choking".

A bit of liquid with dry foods helps digestion, but otherwise it's unnecessary, and even unhealthy in the excess commonly seen today.

I lost a lot of weight and had several other health benefits when I started chewing a lot more my food (like going to the loo with great ease).

</comment></comment><comment><USER5> Why is this on the front page and receiving upvotes? I am genuinely interested why people are upvoting.

</comment><comment><USER6> I never follow 'advice' from outliers.

Also, remember "survivorship bias."

The advice:

        Drink plenty of water
        Get out in the sunlight and fresh air
        Floss
        And, of course, exercise

Yea, ok. Thanks.

<comment><USER7> And when people ask 100 year olds how they did it, the recommendation is always smoking and drinking.

<comment><USER8> Ray Kurzweil is going to live forever because he takes a hundred pills a day, so i don't know why you'd recommend silly things like enjoying a drink and a smoke.

<comment><USER9> Because of guys like Compay Segundo living 95 years while smoking cigars when they wanted to. Nature is complex.

Also a bit of alcohol can relieve stress, it's probably better to smooth out things a bit with a glass of wine rather than going zero-tolerance on some substance and suffering regular anxiety.

<comment><USER4> That's quite right. Stress can be _extremely_ harmful, but it's very hard for one to realize it.

I've have issues with teeth, hair, sleep, and colon all due to stress at some points (once in my life, all four at the same time).

Smoking a joint merely to relieve stress every once in a while would probably have helped my health more that it would have damaged it

</comment></comment></comment></comment></comment><comment><USER10> So, a man started exercising and stuff in his older age.

<comment><USER11> 'saved you a click'</comment></comment>


I updated my crusty old Pentium G-based server–the results are worth sharing - <AUTHOR> https://arstechnica.com/gadgets/2019/07/i-updated-my-crusty-old-pentium-g-based-server-the-results-are-worth-sharing/ <comment> otter-in-a-suit I built a similar setup back in April: [https://chollinger.com/blog/2019/04/building-a-home- server/](https://chollinger.com/blog/2019/04/building-a-home-server/)

Very happy thus far.</comment>


MUMPS, the Archaic Health-Care Programming Language - vezzy-fnord http://motherboard.vice.com/read/meet-mumps-the-archaic-health-care-programming-language-that-predicted-big-data-2 <comment><AUTHOR> The hospital where my wife works just spent $1.2B (yes billion) on software written in MUMPS

[https://www.bostonglobe.com/business/2015/05/31/partners- lau...](https://www.bostonglobe.com/business/2015/05/31/partners-launches- billion-electronic-health-records-system/oo4nJJW2rQyfWUWQlvydkK/story.html)

The company that provided the software is interesting:

[http://www.epic.com/](http://www.epic.com/)

Based in a suburb of Madison Wisconsin, founded in the mid 1970's by a grad student who wrote some software for a local hospital. They grew organically by word of mouth never spending on sales or marketing. They landed Johns Hopkins as a client years ago and now Epic chooses which hospitals are allowed to "invest" in their software. They hire young grads right out of college who have never worked anywhere else - who find themselves trapped with completely non-transferable skills. It is like this company evolved in complete isolation from any outside influence on software development.

Of course it is typical enterprise software developed by waterfall method that puts users last. My wife says the doctors are in open revolt. They have 1000's of open change requests - some critical to patient safety. For example the field to enter prescription instructions is only 64 characters. This is a hospital that administers chemotherapy so the instructions are more complicated than "take with food three times a day." The developer who got assigned that ticket had the nerve to suggest using abbreviations instead of making the change.

<comment><USER2> I do a bit of work with Epic as a 3rd party vendor, its interesting to say the least. The UX is pretty bad, but an internal human factors group seems to be gaining influence and decision making power in the organization. Its also odd because even as an older company, most of their workforce is in their mid 20's and early 30s, so change is coming eventually. That said, a bad Epic install will absolutely bankrupt a hospital.

And not to be a pedant, but Epic's big break was with Kaiser, Hopkins came a years or two later.

<comment><USER3> Most of their workforce has been in their mid 20's and early 30's for the last decade or so; demographic-inspired change isn't coming because they have such insanely high turnover.

</comment></comment></comment><comment><USER4> I wrote MUMPS for a system called COSTAR (this was in 1989 or 1990). It was truly a terrible language. From what I've tried hard to forget: Everything is abbreviated, single letter functions everywhere. The database is a giant persistent hash table, accessed through programming language variables, with no schema, types or type checking (keep in mind this is used to store _medical data_ ). Everthing is global. There's virtually no structure in the language, I think they had subroutines but IIRC there were no named parameters. Existing programs were just unreadable spaghetti.

Edit: Not Co-Star, but COSTAR: [https://en.wikipedia.org/wiki/Computer_Stored_Ambulatory_Rec...](https://en.wikipedia.org/wiki/Computer_Stored_Ambulatory_Record)

<comment><USER5> Yes, you can use just the first letter of a function name. It might as well support Morse Code for all the good that does in terms of readability. I wish I knew what MassGen was thinking when they thought that was a good idea. I shutter when I think of having to use that language for mission critical systems (or any system for that matter.)

<comment><USER6> Keep in mind that MUMPS started around the same time as Unix (a little before, actually), so the same motivation for naming commands like cp, mv, and rm was likely at play in allowing abbreviations: interactive use on remote terminals.

</comment></comment></comment><comment><USER7> MUMPS is a subject I've tried to study before but confess I didn't get very far. For my purposes back in the 90's, PostgresQL was the best fit and it has worked out well.

Meanwhile EHR systems have become a huge industry, but now having to catch up is hard. Learning about VistA is mind-boggling in its scope and complexity, and especially since it has been open-sourced for a long time. It's a point of curiosity that it's not been discussed more than a little here and there in the FOSS media.

So I appreciate the informative article, as it gives me some starting points to explore this vast field. Might even give another stab at MUMPS, though it's a hill to climb. However some of the open-source projects that grew out of (or on top of) VistA offer some interesting ways of approaching it.

One project with immediate appeal to me is EWD.js, which is a node.js javascript implementation of server and client via WebSockets, and a MUMPS DB backend. Should be interesting to try out. [http://gradvs1.mgateway.com/download/EWDjs.pdf](http://gradvs1.mgateway.com/download/EWDjs.pdf)

I could be wrong but it seems someone just starting out could find opportunities in the field of health care computing. Given the political thrust to have EHRs everywhere seems logical the field will grow.

Above all, the need for security expertise in the EHR domain is enormous and will greatly expand in the next several years. The FOSS aspects might well create openings for innovators with creative products and ideas to reduce the cost burdens that high-priced EHRs have been contributing to health care systems.

</comment><comment><USER8> I feel like this journalist was struggling to understand the nature of different kinds of databases.

> _document-oriented databases (where different types of data are stored in > one unified document instead of a bunch of tabular cells)_

There isn't one document, and typically documents aren't "unified" in the sense of having an enforced schema.

> _columnar databases (where data is laid out in key-valued arrays)_

Er, no. Where data is laid out in columns, to speed up aggregate and analytical operations.

> _(Confusingly, the NoSQL name corresponds to "not only SQL" rather than "no > SQL.")_

Backronyms ahoy!

> _But the thing about abstraction in computer science, whether it 's a high- > level virtual machine-based programming language like Java or a bare-bones > Unix shell, is that it always has a cost._

So does hard-baking a single storage and access pattern, which is that you get it wrong and have catastrophically slow access and aggregation times. A relational database is a generalist, query optimisers are generally good at guessing how best to traverse a normalised schema and the last time people used "abstractions are too costly!" as a serious argument it was in the days of rewriting desktop apps in assembler.

</comment><comment><USER9> So our saas web app backend is written predominantly in Cache Objectscript, which is one of the few remaining implementations of MUMPS. We use it on a day to day basis, which I guess makes me a MUMPS developer.

As a programming language, it's a fairly standard procedural language. Cache introduces the ability for scoped java-like classes over the top of the standard procedural code and there's a SQL/ORM layer that at least allows a definition for the giant persistent hash table. That being said, a bunch of our code is in the legacy unscoped routines which is... interesting.

The two real downsides are the complete lack of libraries for it (imagine having to allocate time to port DEFLATE as part of your developement scheduling) and the fact that 20 years of schemaless, unvalidated, tightly coupled data access leads to a boatload of weird bugs.

Feel free to AMA.

<comment><USER10> How well does Cache interoperate with other languages?

Is it wrapped up in a library and consumed from another language that handles web requests/responses? Can you extend the Cache libraries by writing code in another language (even C) and importing it through a FFI?

<comment><USER9> There are bindings for most of the common languages to access Cache structures/functions (.Net, Java, Python, Perl, C/C++, Node.js) but not much the other way around. The only native to call out from Objectscript is via a low-level C interface.

At the moment we're solving the problem by calling out to a set of Golang microservices from Cache over http.

Cache itself actually has web support baked in, either via early-00's PHP style "echo directly down the pipe" or a newer MVC style framework they've built, but sadly stopped developing. Our product team made the choice to transition to their MVC style framework, another team built on ASP.Net so there are options.

</comment></comment></comment><comment><USER11> Relevant WTF post: [http://thedailywtf.com/articles/A_Case_of_the_MUMPS](http://thedailywtf.com/articles/A_Case_of_the_MUMPS)

<comment><USER12> "OPERATORS: No precedence, executed left to right, parenthesize as desired. 2+3*10 yields 50."

Wow. I mean... why?

<comment><USER13> Tiny little interpreter on early mini computers. You save RAM by not having to evaluate the whole expression.

</comment></comment></comment><comment><USER14> And for a different but convergent take on the same approach to this problem space, here's the Pick Operating System, which evolved for business applications on minicomputers in the 1960s, along similar lines (global hash table database, built-in language):

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

MUMPS can thus be seen as a member of a (loose) family of 1960s era systems.

</comment><comment><USER15> My sister works for a place using Mumps. I read the manual she let me borrow and I decided I liked it better than the COBOL I was doing at the time.

Then I cried myself to sleep.

True story.

</comment><comment><USER16> Funny this crops up. I've had to quickly get to grips with a somewhat related subject: a human readable healthcare interchange format called HL7 v2 (v3 has, somewhat rightfully, replaced the custom format with XML).

Here's an example:

MSH|^~\&|MegaReg|XYZHospC|SuperOE|XYZImgCtr|20060529090131-0500||ADT^A01^ADT_A01|01052901|P|2.5 EVN||200605290901||||200605290900 PID|||56782445^^^UAReg^PI||KLEINSAMPLE^BARRY^Q^JR||19620910|M||2028-9^^HL70005^RA99113^^XYZ|260 GOODWIN CREST DRIVE^^BIRMINGHAM^AL^35209^^M~NICKELL'S PICKLES^10000 W 100TH AVE^BIRMINGHAM^AL^35200^^O|||||||0105I30001^^^99DEF^AN PV1||I|W^389^1^UABH^^^^3||||12345^MORGAN^REX^J^^^MD^0010^UAMC^L||67890^GRAINGER^LUCY^X^^^MD^0010^UAMC^L|MED|||||A0||13579^ POTTER^SHERMAN^T^^^MD^0010^UAMC^L|||||||||||||||||||||||||||200605290900 OBX|1|NM|^Body Height||1.80|m^Meter^ISO+|||||F OBX|2|NM|^Body Weight||79|kg^Kilogram^ISO+|||||F AL1|1||^ASPIRIN DG1|1||786.50^CHEST PAIN, UNSPECIFIED^I9|||A

<comment><USER17> Who said that it is suppose to be human readable?

HL7 v2 is actually fairly nice as a data structure. It's really easy to parse, compresses nicely, and is quite flexible in terms of schema. I'll grant you that the standard message schemas are terrible, but the data structure is elegant for what it needs to do.

<comment> FLUX-YOU >It's really easy to parse, compresses nicely, and is quite flexible in terms of schema

It fine in modern languages with good string parsing tools but if you have a v2 parser using simpler techniques in something that's difficult to debug with, it can be a nightmare when something goes slightly wrong. I'm not a fan of how we did it, but it has worked for 95% of cases and was coded in 1999, so I can't really complain all that much.

Part of the struggle is massaging message parses where a vendor is doing something slightly differently (or very terribly, like adding the lab's director on every fucking OBX segment as if the director will get fired mid- HL7 message and we gotta know about it).

</comment></comment></comment><comment><USER18> Meditech runs on a variant of MUMPS: MAGIC (and its subsequent iterations). MAGIC was also developed by one of the researchers that made MUMPS. It's the only language I've come across that allows variable assignment during arithmetic.

</comment><comment><USER5> Kind of wild this article appears now. I just yesterday was talking with a potential partner when they suddenly dropped MUMPS connectivity into the requirements. My first thought was, "Oh sh--!" I have some basic MUMPs knowledge but I certainly don't want to have my business depending on it!

<comment><USER19> Similar situation here, met with an associate who was trying to integrate with MUMPS.

<comment><USER20> And this issue with this is?

</comment></comment></comment><comment><USER21> Earlier in life I ported MUMPS to the ATARI ST. I remember the syntax as being a little weird compared to all other languages I knew at the time. The persistence was a nice touch though, it allowed you work with data in a very intuitive manner.

</comment><comment><USER22> MUMPS powers chunk of TD Ameritrade infrastructure. While sounds cool, this is just as scary as knowing that COBOL powers chunk of other banks infrastructures (Schwab, etc).

<comment><USER23> > In 2006 and 2012, Computerworld surveys found that over 60% of organizations > used COBOL (more than C++ and Visual Basic .NET) and that for half of those, > COBOL was used for the majority of their internal software. > [https://en.wikipedia.org/wiki/COBOL#Legacy](https://en.wikipedia.org/wiki/COBOL#Legacy)

Also, COBOL got a spec update in 2014. It is not really a dead language.

</comment></comment><comment><USER24> > MUMPS concepts (directly) underly two of the largest contemporary NoSQL > tools: GT.M and InterSystems Caché.

Huh?

</comment><comment><USER25> And I still hear devs balk when I mention our (ehr) backend is written in perl. PERL!

</comment><comment><USER26> How does this compare to languages with built in databases such as prolog?

</comment><comment><USER27> Anyone who said that mumps was eradicated is kidding themselves.</comment>


Six global banks join forces to create digital currency - <AUTHOR> https://www.ft.com/content/20c10d58-8d9c-11e7-a352-e46f43c5825d <comment><USER2> Behind a paywall. Maybe this works for everyone?

[https://webcache.googleusercontent.com/search?q=cache:3iRORm...](https://webcache.googleusercontent.com/search?q=cache:3iRORmwUr6QJ:https://www.ft.com/content/20c10d58-8d9c-11e7-a352-e46f43c5825d)

<comment><AUTHOR> Interesting. No paywall on my phone, but paywall on the desktop . . .</comment></comment>


Why why why why why are you a developer? - <AUTHOR> http://logicalfriday.com/2011/07/06/why-why-why-why-why-are-you-a-developer/

<comment><USER2> No-one else is stupid enough to waste their time building the things I come up with... and that's only half in jest.</comment>


Bezel-less phone from Andy Rubin, Android co-founder - <AUTHOR> https://twitter.com/Arubin/status/846396881668210688 <comment><USER2> Can someone elaborate?

The picture in the tweet shows a phone that appears to have a bezel.

Is "almost bezelless" a better phrase?</comment>


Docker-Compose Implementation for Podman (WIP) - <AUTHOR> https://github.com/containers/podman-compose <comment><USER2> I'm curious if anyone is using Podman in prod environment, it seems to have quite a lot of limitations compared to Docker.

<comment><USER3> When used with kubernetes?</comment></comment>


Ask HN: EU Stripe Ltd. company customers required to connect with social media? - <AUTHOR>

Are there any other EU Stripe users with Ltd. Company accounts?
I was trying to sign up and noticed that I was required to connect with either a Google+, Facebook, AngelList (?) or LinkedIn account to "verify my identity".
After getting in touch with their support to inform them that I didn't have any of these accounts I was told it was a new requirement introduced to "help avoid fraud" and that I wouldn't be able to activate without it.
Am I missing something or is this a totally redundant requirement? I can't fathom how this prevents fraud and I think it's crazy to require business customer to provide these connections when they have access to government documents that would easily verity identity <comment><USER2> Digitalocean does something similar when you want to use some of their higher powered virtual machines. Even after you provided credit card information and the first invoice was paid. Suddenly they need justification, Twitter handle, blog or other proof that you're real.</comment>


Travellar – The Social Travel App - <AUTHOR> https://www.travellar.app/ <comment><AUTHOR> We have just launched Travellar. It's concept is to make solo-travelling easier by:

Finding the best travel activities, improvise, explore and experience the world.

Spontaneously connect with others while exploring together.

Creating activities and having other travellers joining your adventure.

Check it out at www.travellar.app

Thanks!

<comment><USER2> nice!

<comment><AUTHOR> thanks!</comment></comment></comment>


Facebook bows to Belgian privacy ruling over cookies - <AUTHOR> http://www.bbc.co.uk/news/technology-34987422 <comment><USER2> While I applaud the effort to protect users privacy I don't think these measures are very effective. It seems more like a way for governments to show who's in power and doing it in such an uninformed way is a little silly imo. Cookies are not the problem.</comment>


Testing Ansible Roles with Travis CI on GitHub - <AUTHOR> https://servercheck.in/blog/testing-ansible-roles-travis-ci-github

<comment><USER2> Really clever idea, I'd love to see more on this.

<comment><AUTHOR> I have more ideas in the works, and will eventually (hopefully) be posting a bit about quasi-'unit testing' infrastructure (using Ansible roles and serverspec). Docker may even make extremely fast infrastructure testing possible... But I need to continue getting more of my book[1] finished so I can put more of my time towards these more experimental ideas!

[1] [https://leanpub.com/ansible-for-devops](https://leanpub.com/ansible-for- devops)</comment></comment>


CSS Hacks: Not your daddy's link highlighting - <AUTHOR> http://nikolay.rocks/2015-08-12-not-your-daddys-link-highlight

<comment><USER2> so irrelevant when all i have are touch interfaces :)

<comment><AUTHOR> lucky you :)</comment></comment>


Web Designers - What elements make for great designs? - <AUTHOR>

Hey,
Some of you may have seen my post earlier this week about being terrible at web design and looking for resources.
I wasn't able to find any, and decided build an "even a dummy can use" web application to generate web 2.0 rockstar designs.
If you guys can point to some design elements that should be included it would be really appreciated.
I'm thinking things like tabbed links, gradient usages, very specific things I can create using jquery and php for clueless developers like myself.
Also, if any of you have ideas for what the web application should contain, that'd be appreciated as well. <comment><USER2> My list (let me know if any of these are unclear):

\- good use of whitespace

\- objective driven ("let me help you balance your checkbook" rather than "click here to login to our system and enter your account information")

\- design elements highlight functionality (buttons like buttons, unusable elements greyed out)

\- no clutter -- most important stuff is most obvious

\- shortcuts for the advanced users, handholding for novices (if you've ever used Mailchimps Campaign Builder, like this)

\- concise text written at about a 11th grade level (simple non-compound sentences, etc.)

\- lack of jargon

\- fun

<comment><USER3> I was terrible too at design.. and I have to agree to those points. However, the one that made the biggest difference for me was the use of whitespace.

I would also add:

\- Don't be afraid to take space for important stuff. And to simply delete useless stuff.

For instance, when I create powerpoint presentation, I put only one picture that takes all the screen.. this is way better then 5 small pictures a little bit everywhere.

Or on a web page, I like when the logo takes 1/3 of the page. The main content 1/3 and the "a little bit" less important stuff 1/3. For an example of that: <http://us.battle.net/?rhtml=y>

</comment></comment><comment><USER4> here are my best links

# usability:

<http://philip.greenspun.com/panda/suck>

<http://www.usability.gov/guidelines/index.html>

# design:

[http://flyosity.com/tutorial/crafting-subtle-realistic- user-...](http://flyosity.com/tutorial/crafting-subtle-realistic-user- interfaces.php)

[http://www.tutorial9.net/photoshop/5-pixel-popping- technique...](http://www.tutorial9.net/photoshop/5-pixel-popping-techniques/)

[http://buildinternet.com/2009/06/five-minute-upgrade- making-...](http://buildinternet.com/2009/06/five-minute-upgrade-making-your- design-pop/)

</comment><comment><USER5> Here is a presentation I did on the fundamentals behind good design: [http://www.kadavy.net/blog/posts/design-for-the-coders- mind-...](http://www.kadavy.net/blog/posts/design-for-the-coders-mind-reverse- engineering-visual-design/)

</comment><comment><USER6> Tailored handcrafted tactile experiences. I don't think you can machine this, though. But that's great design. Good design can be made by following simple rules: grid, contrast, simple copy, for apps: easy-to-understand interface and functions.

</comment><comment><USER7> Great designs are almost always bespoke: created for a specific task of a website.

However, a great generic design is generally based on a grid. Check out Grid systems in Graphic Design by Müller-Brockmann.

</comment><comment><USER8> Pick up a copy of "The Non-Designer's Design Book" by Robin Williams (not that Robin Williams). It's not a web design book, but it is a great introduction to basic design fundamentals in plain English.

</comment><comment><USER9> detail and simplicity</comment>


/leaders no longer shows karma count for top 10 users - <AUTHOR> https://news.ycombinator.com/leaders?top10

<comment><USER2> For those wondering, the karma points can be viewed on the users profile page.</comment>


Ask HN: Java & SQL advice - <AUTHOR>

I've inherited this large chunk of java code. For half a year now slowly it's been getting cleaner but there is still one major stumbling block.
The issue is 'select' calls to the (SQL) database.
These are all implemented as endless chunks of copy and paste data that do nothing but move fields from queries into class members. It's butt ugly and I want to get rid of it.
A nice sample:

        Map<Integer,Questionnaire> questionnaires = new HashMap<Integer,Questionnaire>();
        Connection connection = null;
        PreparedStatement statement = null;
        ResultSet rs = null;

        try {
        	connection = DBStore.getReadConnection();
        	String SQL = "SELECT questionnaire_id,order_id,label FROM questionnaires ORDER BY order_id";
            statement = connection.prepareStatement(SQL);
            rs = statement.executeQuery();
            while (rs.next()){
                Questionnaire questionnaire = new Questionnaire(rs.getInt(1), rs.getInt(2), rs.getString(3));
                questionnaires.put(questionnaire.getQuestionnaireId(), questionnaire);
            }
        } catch (SQLException e) {
            logger.error(e.toString(), e);
        } finally {
        	DBStore.closeAll(connection, statement, rs);
        }
        return questionnaires;
 (yes, I know, it's pretty ugly).
So, I came up with a solution, which essentially does the mapping of database fields to class members based on the field names as returned by the database during the query.
You pass it a class and it figures out the rest.
That works.
But it has another problem. Because the classes that are being stored in the SQL database and the class that takes care of the storing and retrieving of the data are not in the same package or derived from each other I'd have to make all the fields that I wish to store in all the classes 'public'.
Is there an elegant way around this ?
How do others do this kind of stuff ?
I can't believe that this is the way it is really done, so if any of you has any clue or pointer then please help me out before I throw my monitor out of the window... <comment><USER2> Reflection (which you'll be using anyway) can access private fields. See Class.getDeclaredFields.

Check out JPA or Hibernate & Hibernate Annotations for the 'standard' way to do this.

I would just use JPA/Hibernate, rather than writing your own mini-ORM. But you could equally borrow the JPA Annotations and use them for your mini-ORM, and then adopt Hibernate when you're ready.

<comment><AUTHOR> > Reflection (which you'll be using anyway) can access private fields.

Yes, I am using 'reflection'. That seems to be the way to get to the 'guts' of a class.

Hey, that's interesting!

Protected is less strict than private, if I can't see protected fields then I should be able to see private fields?

I'm definitely going to see if that works, I never though that it would be able to since it couldn't read the protected ones.

This is where I got that from:

[http://java.sun.com/docs/books/tutorial/java/javaOO/accessco...](http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html)

Maybe I messed up in a test somewhere.

Or maybe I can fiddle with setAccessible from within the class the does the storing/retrieving ?

Good tip on using the interface of an established library and then making the switch. Like that I can take it one step at the time.

<comment><USER2> Just checked in our code base: getDeclaredFields does return private fields, you then call field.setAccessible(true) to bypass security so you can then get/set the field.

And this definitely works across packages - we use it for some evil tricks like peeking into private fields in the Java runtime library.

<comment><AUTHOR> Sweet! Ok, so that solves my short term problem, longer term I'll have to put in a more solid ORM than this home built thing.

At least it will cut down on the cruft enough that I can start to see the wood for the trees.

thank you very much.

</comment></comment></comment></comment><comment><USER3> Hibernate is a fairly popular way of dealing with OR mapping in Java:

<https://www.hibernate.org/>

Unfortunately, you'll end up trading off code cleanliness with XML configuration files, but I believe there are tools out there that help with the generation and maintenance of those files.

I feel that I may have missed some of what you're looking for though, so if Hibernate is the wrong solution for you let me know and maybe I can help you get nearer to a workable solution.

<comment><AUTHOR> I found a way to use the 'reflect' class to figure out the mappings, and by caching them after the first query it is reasonably fast and doesn't require any further mapping information, as long as you make sure that the field names in the classes match the field names in the tables it works.

But I'm stuck on not being allowed to access the fields in the classes from a 'foreign' class, it simply doesn't allow it.

So I'm forced to make all those fields public, and that isn't the way things are meant to work.

Java doesn't seem to have a way to say 'this class is a friend' other than putting the classes in the same package, or by deriving the class that has access from the class that you wish to modify (and that isn't an option because that would mean the storage class would have to derive from every object that you wish to store).

</comment></comment><comment><USER4> I've had success using Spring's JDBCTemplate [http://static.springsource.org/spring/docs/2.5.6/api/org/spr...](http://static.springsource.org/spring/docs/2.5.6/api/org/springframework/jdbc/core/JdbcTemplate.html#query%28java.lang.String,%20org.springframework.jdbc.core.RowMapper%29) and their various RowMappers [http://static.springsource.org/spring/docs/2.5.6/api/org/spr...](http://static.springsource.org/spring/docs/2.5.6/api/org/springframework/jdbc/core/BeanPropertyRowMapper.html)

</comment><comment><USER5> Check out iBatis - it might be the solution you are looking for.

<comment><AUTHOR> Ok, I will do that. Thanks!

</comment></comment><comment><AUTHOR> pivo, thanks, I did get to read it.</comment>