Banks scramble to fix old systems as IT 'cowboys' ride into sunset - <AUTHOR> http://reuters.com/article/technologyNews/idUSKBN17C0D8 <comment><USER4> Been working on accounting systems in RPG and COBOL since ~1992. I also know C/X86ASM/Pascal/Delphi/VB/Fortran. Never bothered with C++ that much; played with Java a bit but Oracle irritates my bowels so moved away from that.

As mentioned in the article it's good work; but it is also not easy work. You tend to go through cycles of being pushed out to brought back under extreme emergency at any costs to get stuff working. Only for the cycle to repeat. Companies never think of the old guys as the ones to implement the new system - that's a job for the "enterprise experts" \- I can't even keep track of how many "rewrites" I've seen in my life fail because of this.

We are the dinosaur club; but it's a club that pays extremely well (high 6 figures a year without working too hard if you are talented and have a good client base and reputation), but like fossil fuel one day it will all be gone ;)

<comment><USER5> > Companies never think of the old guys as the ones to implement the new > system - that's a job for the "enterprise experts"

Exactly this is why rewrites fail. The challenge of a rewrite is not in mapping the core architecture and core use case, it's mapping all the edge cases and covering all the end user needs. You need people intimately familiar with the old system to make sure the new system does all the weird stuff which nobody understood but had good reasons that was in the corners of the old system's code. IMHO the best way to approach a rewrite is to make a blended team of experts of the old system and experts of the new technology, and you put a manager in charge with excellent people skills who can get them to work together.

<comment><USER6> all features and edge cases should have a test. if possible also have tests for all the bugs ever found in the old system. it helps if the tests are not too coupled with the code and are well documented. a test could be making an entry where deb and cred dont match. or trying to enter an extra decimal. and if the system adds two decimals corectly.

<comment><USER7> >all features and edge casss should have a test.

Yeah, but the interesting problem is what happens next. Let's say a test case reveals that there's a flaw in the next-gen system. You fix it. It later turns out that the same flaw exists in the legacy system. What do you do?

Do you revert the fix, or leave it in place?

<comment><USER8> Revert the fix and add it to your backlog. You've got enough to worry about when porting/rewriting, don't add additional dimensions of complexity and risk by trying to change business logic at the same time. Minimize risk by minimizing change...then when the new system is up on its feet, go back and fix all the mistakes you found.

<comment><USER9> I upvoted that but I suspect that there will never be an opportunity to "go back and fix all the mistakes you found".

At least there never is for me.

</comment></comment></comment></comment></comment></comment><comment><USER10> I worked for years on the modernization of a critical banking infrastructure system. The problems are manifold. The biggest problem is overall architectural impedance mismatch - switching from a batch system (most of those old COBOL mainframe apps are batch systems) to a service-oriented architecture. This makes incremental replacement extremely difficult. But a cutover? On a system that moves more money in a day than the GDP of most countries? A failure could put the entire banking world in a tailspin, cause an economic crash.

Next, there's a lot of business logic basically embedded in the COBOL, or even at lower layers. For example, lots of banking files are in EBCDIC, a different character set from ASCII. Except there are _lots_ of different EBCDIC variants, and there's no good way to tell which one you're viewing just by looking at the file. So you have to reverse-engineer COBOL to figure out the "correct" meaning of a given file.

The problems go on and on. When I see people in the startup world rolling their eyes at the "incompetence" of the enterprise world, I take it to mean they've never actually worked on a truly hard problem in their lives.

<comment><USER11> > When I see people in the startup world rolling their eyes at the > "incompetence" of the enterprise world, I take it to mean they've never > actually worked on a truly hard problem in their lives.

I worked in a related field in the past. I don't claim that the problems are easy - where I tend to roll eyes rather is:

\- Bureaucracy: A lot is required by law, I know. But there is a difference between "just following the required bureaucracy in a minimal necessary way if it stands in the path" (the startup way) vs. "taking it seriously in a way that makes the work harder than strictly necessary".

\- Hierarchies: Just three words: I hate them.

\- Unwillingness (?) to tackle these hard problems: The problems are hard, as you already outlined. But this implies to me that everybody in the company will move heaven and earth so that the people who work on this hard problems are able to (e.g. give all necessary information (requirement specification etc.) they know of etc.). If there is just one thing (or even office politics) which will prevent that, I don't just roll my eyes, but get furious. Because of the hardness this is not to consider an obstacle, but targeted sabotage - and should be considered as such.

<comment><USER12> Part of this comes from an inability in the early years to truly respect engineering as both a craft and as a form.

I know your startup mindset well and I carry with it with me too. I came into a legacy fintech company the same way and pushed for faster decision making processes.

I didn't realize the cause for conservatism until I was given a story about how the company needed to manually call and refund thousands of customers... all because one developer fucked up and double charged people.

When you deal with MONEY and you experience getting burned like that... you realize how mantra's like "move fast and break things" only work as convenient motto's for startups who have nothing to lose.

</comment></comment></comment><comment><USER13> $100 an hour, so $208k a year (assuming no time off), for a guy with 30+ years working on a critical system in an industry where floor traders can make 7-8 figures, and huge bonuses are paid to "analysts". I have plumber buddies that make more than that per hour (and with a crew can make more a year).

That's why a couple years ago when I had access to a zseries, and was hearing about how "desperate" the banks were I took a look. What I discovered are salaries that are some of the lowest in the IT industry and a cynical attitude towards hiring. AKA, banks would rather pay $40k a year for a "system operator" which is generally the ground floor for learning anything about a mainframe than hire someone with a comp-sci degree and teaching them the system while promoting them.

So, no thanks (you can fill in a less polite version), the banks can go to hell.

<comment><USER14> Not sure if the $100/hour figure quoted is a hard and fast cash amount banks strictly adhere to, but ultimately this is business, so: set your price and walk away if it's not met.

I set my price: AUD$850/day, with a TINY bit of wriggle room, and that's final. I know my worth (from a skills perspective and market/economical one.)

<comment><USER15> You could probably charge higher - this is at the mid range of many client side programmer daily rates in AU and systems skills like this are so much more critical.

<comment><USER14> Maybe. I'm a DevOp, not a coder. I could charge more.

</comment></comment></comment></comment><comment><USER16> The problem really isn't COBOL. COBOL is not a difficult language. It reads almost like English sentences. Any competent programmer would not be challenged by COBOL. The problem is all the glue. JCL, SNA, CICS, ISM, ISPF, etc.

It's like the difference between Java (the language) and J2EE, except in the context of 1970s computer technology. It's not intuitive and not something you can really work through without a lot of training and experience.

<comment><USER17> At my last employer, there were a few "mainframers" (we called them). I was curious so I would ask my mainframer coworker how things worked on his end.

I always struggled to understand, because it seemed everything was different ... the terminology, the culture, the ideas. I couldn't use analogy to tie what he was describing back to what I knew.

<comment><USER18> You got that right. I had to deal with an interesting banking file format and I asked a question on Stack Overflow and got this gem of an answer.

I politely accepted it as the right answer but boy oh boy does it feel like it's from an alien civilization.

[http://stackoverflow.com/questions/28640159/what-is-the- diff...](http://stackoverflow.com/questions/28640159/what-is-the-difference- between-a-variable-blocked-format-and-a-fixed-blocked-for)

<comment><USER19> Although I was never a mainframe programmer per se, I did quite a bit of interfacing between mini/microcomputers and IBM mainframes, so I got to see under the hood a little. (If I write something stupid, it's either memory issues or ignorance).

I recall seeing how files were allocated on disk (remember that mainframes have many different OSes, like OS\390, and even OSes on top of OSes like VM/CMS, and I don't remember what this was running on).

In this particular case, a file was preallocated in JCL to use N extents starting on a specific cylinder. Fixed size. None of this fancy ext3 or NTFS ;)

JCL (Job Control Language) was a language to control batch jobs, and many have called it the worst language ever designed, although not as bad as brainf __k.

On the other hand, I had a chance to interface C++ with CICS (a transaction processing subsystem) using WebSphere MQ, and I must say, I was really impressed with its sophistication. It was a kind of SOA long before the term was invented.

A lot of what I saw in the mainframe world predated things - by decades - <USER2> some may think are new(er) concepts, such as clusters (sysplex), front-end processors, hypervisors, HA, and so on.

Those of us who had to fiddle with implied file formats with fixed-length fields and records won't find this stuff quite as alien, but equally as painful to deal with. I recall using some sort of ETL program to get around this. On the plus side, these primitive formats certainly were efficient in terms of processing speed, and a great match for COBOL.

Speaking of COBOL, as part of this project, I had to write a parser in C++ to parse COBOL copybooks (kind of a COBOL data structure definition) and generate C code to read the data.

It is a very different world, but I don't think it's all bad. After all, the technology has been working very well for a long time. Kudos to the COBOL Cowboys. I hope they charge a lot more than $100/hr!

<comment><USER20> > In this particular case, a file was preallocated in JCL to use N extents > starting on a specific cylinder. Fixed size.

Sounds like a z/VSE system (formerly known as VSE/ESA, VSE/SP, DOS/VSE, DOS/VS, DOS/360). In DOS JCL (which is a different syntax to z/OS / OS/390 / MVS / OS/VS2 / OS/360 JCL), you manually allocate files to disk locations using the EXTENT statement. By contrast, in z/OS the operating system decides where on disk to locate your file (or dataset, to use mainframe terminology). (You don't _have_ to manually allocate files any more in z/VSE – you can use VSAM, or store your files in libraries, and in both cases the OS decides on disk locations for you – but, originally, neither VSAM nor libraries existed, so you had to manually assign locations to all the files on disk.) It is very primitive, but remember it was designed in the 1960s to run on machines with only 16KB of memory–plus, humans could design a disk layout to maximise performance, by placing frequently used files on faster areas of the disk. Nowadays, the OS can do a better job of locating files on disks than humans can do, but this capability is kept for backward compatibility.

<comment><USER19> Thanks for this! I had a number of interactions over the years with the S/3x0 world, and I wasn't always sure what was under the hood. I was aware that there was a bewildering slew of xxAM access methods, but had no chance to look into them.

</comment></comment></comment></comment></comment></comment><comment><USER21> > One COBOL programmer, now in his 60s, said his bank laid him off in mid-2012 > as it turned to younger, less expensive employees trained in new languages. > [...] "The call back to the bank was something of a personal vindication for > me," he said.

I find this being an oddly satisfying part of the story

</comment><comment><USER22> First employee/architect of Kraken here. (Now does >USD$10M+/day of volume by my estimate)

Accounting systems of all kinds should be generic and open source. Why do we need banks at all? It's not like this infrastructure really has any special characteristics. Most of it even has downtime and batch jobs. Fact: The bulk of banking is just recording some numbers at a stupendously simplistic resolution, with maybe 64 characters of description and a date.

A few weeks ago I spent a day interviewing 20 different Hong Kong banks about API availability for cross-border RMB transactions. None at all offered it.

 _We 're reaching a point where the financial systems of a mid-level company exceed those of the banks they are forced to utilize._

Modern requirements include things like: 24x7x365 availability, multilingual, arbitrary asset type support (energy, carbon credits, cryptocurrencies, space, time, etc.), multi-asset type accounts, new settlement networks, real time reporting and AML/KYC, all features API-available, new and established customer interaction through non-snailmail/physical means, customers routinely in different countries, multi-user accounts with disparate access levels (eg. accountant/auditor/spouse/kid), multiple legal jurisdictions with clashing regulatory frameworks, settled-means-settled, regulator-forced free market integration for non-core (ie. account-related) financial services such as loans/forex, redundant service provider availability for every function, meaningful SLAs/reputation for service providers, routing and/or provider selection based upon nontraditional metrics such as ethical investment rationales, etc. The same set of requirements goes up and down the supply- chain: people want to reason with their suppliers and customers about stock, settlement status, payment and contracts, they sometimes need backups in case of failure down the chain, and they care about reputation.

Frankly the whole area is such a mess I am expecting an open source core accounting project to take over the sector. Probably it will begin in smaller/developing world banks and move toward the big guys like a meteor.

For some evolving thoughts on the area (from 2012, but literally picked up again in the last 2 days) see [http://www.ifex-project.org/our- proposals/ifex](http://www.ifex-project.org/our-proposals/ifex)

<comment><USER23> _A few weeks ago I spent a day interviewing 20 different Hong Kong banks about API availability for cross-border RMB transactions. None at all offered it._

They don't do it because doing it while complying with all relevant regulations is more complicated than you realise. That's what banks are ultimately in the business of, finding ways to do business across jurisdictions. And it's why most fintech companies fail: their beautiful code runs headlong into the messy, illogical, unpredictable real world of regulatory compliance and guess what, the regulator always wins.

<comment><USER24> Strongly agree based on my work in the financial sector since 2009. Everything's driven by regulatory compliance now. To the point where RegTech is a thing.

</comment></comment></comment><comment><USER25> Cobol expert = $1,000 an hour rate. Great niche, but eventually will get replaced.

Awesome marketing and PR for his company Cobol Cowboys ([http://cobolcowboys.com](http://cobolcowboys.com).

> His wife Eileen came up with the name in a reference to "Space Cowboys," a > 2000 movie about a group of retired Air Force pilots called in for a > trouble-shooting mission in space. The company's slogan? "Not our first > rodeo."

<comment><USER26> We have 50,000 lines of RPG code we need to replace over the next decade. Since the last RPG dev at our company is over 65 years old and can retire at any moment.

It's going to be funny when we replace it with Java and our business guys ask why it runs much slower.

<comment><USER27> I never wrote RPG code, but 50k LOC seems a pretty small project to me...

<comment><USER28> A 50k LOC program serving a critical business function without a test suite or requirements documentation can be quite a chore to replace, especially if you let it go until you have neither staff experienced in the language or with experience with the background of the specific application.

<comment><USER29> I've converted such programs from one language to another. It is not necessary to understand how the program works, only how the language works.

What you do is function by function, convert the language by duplicating what it does in the new language. Resist any and all urges to fix it, refactor it, improve it, etc. Just translate.

<comment><USER30> The problem is if there's some obscure language behaviour that's not documented well, and the code relied on that behaviour.

unless you're an expert and knows the language inside out, it's hard to even know such a problem occurred.

<comment><USER29> True, but languages tend to be far, far better understood and documented than some random application logic.

</comment></comment></comment></comment></comment></comment></comment><comment><USER31> "Experienced COBOL programmers can earn more than $100 an hour when they get called in to patch up glitches, rewrite coding manuals or make new systems work with old."

Any contract-based engineer would charge that, or more, regardless of the language. Fortune 500 companies are happy to pay $300 / hour to a consulting company for engineering time.

<comment><USER32> I just assumed that $100/hr sounds like a lot to the journalist in question and therefore "more than $100/hr" was simply their top categorisation of compensation.

Bear in mind that this is something like four times the average in private industry, and fifteen times the minimum wage.

My general rule for stories by journalists - even experienced ones - <USER3> any technical industry is that their use of facts is often extremely loose, and if something seems awry, distrust the story first and question your understanding of the domain second.

<comment><USER33> My first job out of college I worked for a large-corp building a CRUD java web-app for one of their clients who implemented large-corp's backend. They billed the client 250/hr for my time (full time for 18 months). So yeah anything close to 100/hr is leaving piles on the table.

</comment></comment></comment><comment><USER34> The problem is technical debt. Banks didn't realize they were software houses, they thought that IT was a tool.

<comment><USER35> It is amazing how many companies don't think they're software companies, even though they are 100% reliant on their in house software. "We aren't a software company" is even a direct excuse I've heard a few times to justify ignoring technical debt.

<comment><USER36> What's worse is companies who 100% outsource to customized versions of a vendor's code. At least banks own the source to what they run even if they can't run it without a license. Clothing company I know sitting next to amazon pays the equivalent of about 5 fte senior amazon engineers a year in licensing the software they run every year to a vendor who charges them another 5 engineers worth to implement all of the customizations they want and "re- negotiates" the contract every 3 years. I say negotiate because there's not really an alternative to switch, it'd be a 3 year conversion project and they refuse to hire devs.

They gave a 8k raise to most tech folks about 5 years ago because they were bleeding people across the street. Which brought their senior tech folk to within 20k of an amazon SDE intern salary. People still left.

I'm biased as an engineer but I'm not really sure why they keep this relationship going.

<comment><USER35> This is accountant math with capex vs opex. I don't know how but they manage to convince companies that their saving money by spending 10 times as much.

<comment><USER37> Might still be a good decision: the corporate politics get so much harder, once you have in-house teams. And: that company would probably fail at writing in-house software---most of them do.

<comment><USER36> Good point. I didn't think about the leverage of having an internal team holding you hostage vs and external.

And yes there is also the, how do you hire up a good dev team when you obviously don't know how to do software yourself. Eg hiring outside your competency. I know this is especially hard, and I've watched large companies who are good at hiring in general fail at it specifically in a wheel house. I think this is why aqui-hires can help.

<comment><USER37> Semi-related: that's why 'blockchain technology' can be so useful to banks. It's not that they need anything blockchain at all, but in practice CEOs are not actually all that powerful against the vested interests of middle management, but having the excuse of hyped up 'blockchain technology' can help with pushing through common-sensical reforms that you would want to do anyway.

What's a wheel house?

<comment><USER36> It's the core of a baseball batter's hitting area. Eg their core strength.

Challenge for you since you invoked block chain: Come up with a situation where "the blockchain" wouldn't be a good fit.

<comment><USER37> Oh, American sports metaphors. They fly right over my head.

A situation where a hyped up 'blockchain' wouldn't be a good fit: when the organization is competent enough and/or the CEO has enough power to change things.

Google probably falls under the former. Amazon might fall under the former and definitely latter.

Let's quote Steve Yege to see why Amazon doesn't need "the blockchain" as an excuse ([https://plus.google.com/+RipRowan/posts/eVeouesvaVX](https://plus.google.com/+RipRowan/posts/eVeouesvaVX)):

> So one day Jeff Bezos issued a mandate. He's doing that all the time, of > course, and people scramble like ants being pounded with a rubber mallet > whenever it happens. But on one occasion -- back around 2002 I think, plus > or minus a year -- he issued a mandate that was so out there, so huge and > eye-bulgingly ponderous, that it made all of his other mandates look like > unsolicited peer bonuses.

> His Big Mandate went something along these lines:

> 1) All teams will henceforth expose their data and functionality through > service interfaces.

> 2) Teams must communicate with each other through these interfaces.

> 3) There will be no other form of interprocess communication allowed: no > direct linking, no direct reads of another team's data store, no shared- > memory model, no back-doors whatsoever. The only communication allowed is > via service interface calls over the network.

> 4) It doesn't matter what technology they use. HTTP, Corba, Pubsub, custom > protocols -- doesn't matter. Bezos doesn't care.

> 5) All service interfaces, without exception, must be designed from the > ground up to be externalizable. That is to say, the team must plan and > design to be able to expose the interface to developers in the outside > world. No exceptions.

> 6) Anyone who doesn't do this will be fired.

> 7) Thank you; have a nice day!

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER38> I remember running into someone who worked at an insurance company in my home state and mentioned their whole system ran on COBOL. I asked her how she hired programmers and she explained they hired recent college grads with no technical background and trained them from scratch, since it was easier and cheaper than hiring experienced COBOL programmers. Looking back I'm surprised they had the institutional knowledge to maintain systems that way...

<comment><USER13> They don't. That is why they need to call back the guys that retired.

Any of the new hires with talent quickly discover they can double their salary by doing pretty much anything else in IT and move on. IBM and their customers want to turn the whole thing into a McDonalds style business, but the burgers keep burning and they keep having to call people to come in and rewire the microwave and unplug the toilet.

<comment><USER39> > Any of the new hires with talent quickly discover they can double their > salary by doing pretty much anything else in IT and move on.

Not necessary. They do not know current frameworks and tools and probably don't know the knowledge is transferable.

Effectively, they need to find a company willing to train them and the one that hires by aptitude on whiteboard test only.

<comment><USER40> Yes. Very likely that they can't get a better job. As the previous comment said, they are trained from scratch having no experience in tech whatsoever and mainframe is not remarketable to a web company.

<comment><USER37> Google is willing to hire anybody who can solve a few basic algorithmic problems.

<comment><USER40> The hardest part of Google is to be accepted for an interview, which they won't.

The second hardest is to actually answer the questions in the interview, at that they don't stand a chance. Don't overestimate a guy who is doing a job reorientation from a random degree, having barely touched a computer before.

Last but not least, Google is only in a handful of locations in the World, banks are more common.

<comment><USER37> The trick to get your interview at Google is to get somebody to refer you. (And that's not that hard. If you can't find a Googler in person at a meetup, hang out online and write to a few random Googlers. They get a hiring bonus, so if you provide them with the information they need (it's a small questionnaire about you they have to answer plus your CV), lots of them are happy to refer you.)

The interview is a bit peculiar, and not all that correlated to what even Googlers do on their day job, but it's trainable, and you can repeat every year.

Do Facebook at the same cadence, but six month out of phase, and you got a steady stream of interviews. Add eg Microsoft and some other companies, and you are virtually guaranteed to land a decent job at some time. And that holds even after I agree with your caution about overestimating a random but intelligent person. It is quite the time commitment, though.

The locations weren't too much of a problem for me. But I do have to admit that when I joined my preferred location of Singapore didn't really have any engineers, so I settled for Sydney. And as your comment suggests, yes, I was working for a bank in Singapore before.

<comment><USER40> Yes, it's good advice, I know how this works. Meetups and linkedin messages.

You still need to be in a google location to come across a meetup (there are only so few offices in the world) and your profile might need to be better than "I dropped from art school last month. I like computers."

<comment><USER37> I never finished my degree..

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER41> I've worked in the financial sector as recently as 2006. Without getting too specific, some of the financial systems I worked on underpin large sectors of the economy, across many banking chains. While Java was starting to take over these systems, thankfully the banks and regulators were hedging their bets on JEE with the knowledge that someone would eventually have to _take over_ these systems.

They were starting to think about growing an intergenerational community and started hosting applications in smaller chunks that individually comprised less risk (long before microservices was a coined term) and thinking in terms of APIS not implementations. They're not idiots.

Having said that it might be good to ask your local bank how much of their systems are implemented in COBOL.

<comment><USER42> Anecdotal, but my friend knew VP of Information Technology at one of the big 4 banks in Canada really well. The VP told my friend to learn COBOL and if he passed the interview, they give you a blank paper where you write down your salary.

<comment><USER41> What this VP should have been doing was figuring out how to get out of that scenario entirely.

<comment><USER42> Well VP could have been exaggerating a bit as well since we were uni students back then and my friend was doing his internship there. He knew the VP through robotics.

<comment><USER43> Note that, in a bank, VP is not a particularly important position. A senior software developer anywhere else might have the VP title in a bank. It is very possible that your firend's friend wasn't involved in any hiring decision at all and it was just internal hearsay.

Source: I'm VP at a large bank.

<comment><USER42> Ah could be that as well, you know better. We were just young kids (still are) and believed what he said.

</comment></comment></comment></comment></comment></comment><comment><USER44> I work at a large bank in my country.

We have quite a few old gentlemen that work about four hours a day on insane hourly rates doing this sort of work.

They seem to be living the life quite frankly, spending the rest of their day boating and what not. It's like the perfect retirement for them in that they get to stay challenged, get paid handsomely and still have most of the day to actually kick back.

</comment><comment><USER45> 15 years of bad executive decisions adds up to a problem? Oh man. Say it ain't so.

</comment><comment><USER46> It's easy to forget that most businesses America aren't publicly traded companies.

This guy found a profitable niche, realizes that it isn't sustainable long term, but makes perfect sense for him and his peers. Good for him.

</comment><comment><USER47> There's a retail bank in London that still has its core standing order system written in pounds, shillings and pence with a translation routine sitting on top of it. It was supposed to have been rewritten as part of the millennium- bug investigations, but it never happened.

</comment><comment><USER48> The problem isn't COBOL developers, it's the Subject Matter Experts (SMEs) of the applications themselves - developers don't know why something was built the way it was, so maintaining and upgrading it is difficult from a logical perspective, not a technical one.

When you provision a credit or debit card to an iPhone, it hits thousands of lines of COBOL for my bank. I wrote the application that delegates requests that come in on the payment network from Apple. Our issue isn't finding developers to maintain it, but if the application sits stagnant for decades, then the problem exists that we don't have product expertise to do the work.

</comment><comment><USER49> From the article "Experienced COBOL programmers can earn more than $100 an hour"

In Australia that's a lot, but my understanding is that it's common for American developers to be on way more than this...

<comment><USER50> I'm curious what your experience in Australia has been for you to think that. In my experience that's not what I'd call a lot in Australia, most commonly your average basic IT contactor will charge $80-120/hr, let alone any sort of speciality.

<comment><USER51> What's a basic IT contractor? $100 seems to start getting to the upper end of what I'd call a basic IT contractor. > $100 seems to be for more management/architect type roles according to [http://au.hudson.com/portals/au/documents/salary%20guides/20...](http://au.hudson.com/portals/au/documents/salary%20guides/2017/HudsonSalaryGuide_TechnologyDigital_AU.pdf) and [http://www.greythorn.com.au/media/greythorn/greythorn%20mark...](http://www.greythorn.com.au/media/greythorn/greythorn%20market%20insights%20and%20salary%20guide%202014_2015%20australia%20pay%20rate.pdf).

<comment><USER52> Don't most contractors use recruiting companies when they start out, then rely on word of mouth/networks? Might be why the hudson/greythorn rates seem low.

<comment><USER51> Hm, yeah that could be true. I think the big organisations like the banks, insurance companies, super companies, Telstra, NBN etc don't often take on contractors directly either.

</comment></comment></comment></comment></comment><comment><USER53> It's certainly not just banks, very much utilities too. putting off investments in core IT capabilities has become the norm and when you've dug a hole this deep, might as well keep on digging!!

</comment><comment><USER54> My gut feeling is that one can minimally maintain systems in "forgotten" languages indefinitely if they're basically stable and feature complete. But it seems that people come unstuck for systems that still need to evolve -- even if that evolution is slow and/or sporadic. The obvious alternative is to rewrite systems in new languages, but that is generally prohibitively expensive. Even for those that can afford the expense, the new system tends to not to take considerable time to bed in, so flipping the switch from the old to the new is only for the brave or those with excellent PR departments.

Although we didn't have this in mind when we started on this work, I've come to think that language composition might offer a way out of this mess (I immodestly offer [1] as an early example). If one composes an old and a new language, one can migrate a system from an old to a new language bit-by-bit. As well as amortising the translation cost, it also means that one can minimise the "switch flipping" problem: disasters seem much less likely if the composed system can be introduced gradually.

[1] [http://tratt.net/laurie/blog/entries/fine_grained_language_c...](http://tratt.net/laurie/blog/entries/fine_grained_language_composition.html)

</comment><comment><USER55> I dealt with something similar when I was a programmer. We had inherited a PDF publishing module written in 3B2 from the late 90s. (Google that language and you won't find much. Wiki article here: [https://en.wikipedia.org/wiki/Arbortext_Advanced_Print_Publi...](https://en.wikipedia.org/wiki/Arbortext_Advanced_Print_Publisher))

The most I've personally seen a contract was for hiring a consultant to help fix bugs in this 3B2 language that nobody knew. The cost for bug fixing and onsite training was $5000 CDN, per day. That was back in 2010. The day was 7.5 hours so this guy's rate was $666/hour (Now that I look back, maybe that rate was an inside joke or something).

We ended up hiring him for 5 days ($25K contract) as that was all that was needed to keep this module going, and we crammed a bunch of programmers in a room with him to see if we could learn a thing or 2 - the end result was negative. Nobody could learn it because we just didn't want to touch it.

It took another 5 more years to kill off that module and move to an open source solution. Now before anyone does any straight math do see how much this consultant made per year, you have to understand that work was very limited, and eventually, everybody wanted this language and publishing software to die off.

</comment><comment><USER56> That's why I'm keeping my COBOL for Dummies and MVS/JCL handbooks as my retirement plan should the markets go south on my 401k. :-)

<comment><USER57> /digs out old Data General Interactive Cobol manuals :)

<comment><USER19> DG? You're really giving away your age ;)

</comment></comment></comment><comment><USER58> Boy this sounds familiar.

It's not just banks; many state (and presumably federal) angencies have this exact problem.

The agency I work for now has a large COBOL code base that's been in the process of being converted to Java for a very long time now with varying degrees of success. I frequently have to read through COBOL to figure out what a particular project was supposed to do in the first place. It's not hard to understand, but it's certainly not immediately intuitive for someone who came up on Java.

We have the privilege of still having a few of the authors of the original systems hanging around, but we won't for much longer.

</comment><comment><USER59> A couple of thoughts:

If COBOL is such a big deal, a bank would get a steal of a deal if they funded some university chairs for professors who are willing to teach COBOL. "High Stakes Financial Software Engineering 332".

Others are indicating that the banks would rather hire a novice and let them learn the system. Seems like they have some sort of long term onramp procedures. Or their current crop of almost retirees are harboring a deep- seated desire to see the world financial system go down in flames. Which would be odd for someone who will presumably be depending on a financial instrument like a pension or 401k for income.

</comment><comment><USER60> Not just banks, but large healthcare companies too. This is Accenture's bread and butter -- charging $120+/hr for analysts to reverse engineer COBOL into rules engines, then outsourcing a J2EE implementation. Last time I checked a large healthcare provider was paying over a million/month to maintain a mainframe claim processing system.

</comment><comment><USER61> > Experienced COBOL programmers can earn more than $100 an hour

Sounds low? That's what I'm charging as a web dev consultant.

</comment><comment><USER62> "Experienced COBOL programmers can earn more than $100 an hour when they get called in to patch up glitches, rewrite coding manuals or make new systems work with old."

$100/hr doesn't seem like a good rate for a true 'niche' when $185-$250/hr is going around for everything from Hadoop to Kubernetes.

</comment><comment><USER63> Just went into Autozone and the interface looked like a IBM CICS screen scraper. Went to my insurance agent; we looked at nice screens, but when real money became involved, we popped into this ugly legacy screen.

<comment><USER36> Or maybe it's because keyboard input is faster for a lot of heavily repeated form type things than a web interface.

Web is nice when users don't know how to use it. When they do they're not really looking 1/2 the time.

<comment><USER64> terminal screens needn't be old. they can be quite fast to operate.

</comment></comment></comment><comment><USER65> Interesting how COBOL still stays relevant till this day. "They don't make 'em like they used to" is a cliche more commonly heard for hardware rather than of software.

</comment><comment><USER66> > _Experienced COBOL programmers can earn more than $100 an hour_

Only $100 ph??

<comment><USER64> yeah but you're holed up 7 days straight to fix something, so it quickly adds up.

</comment></comment><comment><USER67> I had a recruiter contact me about a COBOL --> Java project a couple of weeks ago. I don't remember the $100/hour part though, seems like that would've stuck with me!

</comment><comment><USER68> _" The call back to the bank was something of a personal vindication for me," he said._

Being called back because nobody can figure out the undocumented hairball you left behind is a vindication?

More like, your plan to ensure endless job security, having appeared to have faltered, was vindicated.

 _You_ being vindicated means that someone admits that you should not have been let go; it was a mistake based on misinformation or whatever.

</comment><comment><USER69> "Come check out our data center". Tape robots. Compliance's friends.

</comment><comment><USER70> dear Cowboys, start your ride in the morning, the towns are specifically spaced such that you can reach the next shelter in one day, avoiding the dangers of riding during the night.

</comment><comment><USER71> Businesses in general seem to have a really hard time dealing with training and institutional knowledge transfer these days.

As an example from another industry, my father was working as a mechanic/greaser in a power plant for the past 17 years, alongside a millwright who had been there for 30, since they opened the doors. In the last six months, they both retired - after telling management what their timetables were about five years ago. The company never brought in anyone to train under them and learn all the minutia of how the plant works that is locked away in their heads. They haven't even hired anyone full-time to replace them. Needless to say, equipment all over the plant is starting to break down, because simple things like greasing bearings regularly isn't being done properly, and when things break down, they aren't being put back together properly, because no one knows the idiosyncrasies of the equipment. Every hour this plant is down costs tens of thousands of dollars.

The millwright is starting to get called in as a consultant for three times his previous hourly wage.

<comment><USER72> >The millwright is starting to get called in as a consultant for three times his previous hourly wage.

Sounds like he should have retired ten years ago. :-) :-)</comment></comment>


Show HN: Historical tick-by-tick crypto market data API(trade, order book data) - <AUTHOR> https://tardis.dev <comment><AUTHOR> Hi, founder of [https://tardis.dev](https://tardis.dev) here. I've created it to scratch my own itch as couldn't find anything on the web that would give me historical high resolution data for crypto markets (futures, swaps, options included) with affordable pricing for individuals hence created my own - <USER2> some of you will find it as useful as I do. There is a RunKit playground on the homepage so you can play around with the API and client libs that are available on GitHub ([https://github.com/tardis- dev](https://github.com/tardis-dev)). You can access historical market data for first day of each month without API key.

It's raw non aggregated historical data API including trade, quote, liquidations and full order book snapshots & delta updates, useful for algo backtesting, designing quantitative models, market microstructure, order book dynamics research etc. Currently supported are BitMEX, Binance, Deribit, Bitfinex, Bitstamp, Coinbase Pro, Kraken, Crypto Facilities and OKEx.

I'd really appreciate any feedback you have.</comment>


Counting the DOM nodes in a web page - <AUTHOR> http://asserttrue.blogspot.com/2009/09/counting-number-of-dom-nodes-in-web.html

<comment><USER2> //jQuery one liner rather than long tree transversal?

var z=$('*').length;alert(z);</comment>


How to name your company (or anything) - <AUTHOR> http://www.tinygigantic.com/2011/02/22/the-naming-stuff-process/ <comment><AUTHOR> he also previously posted the 2 commandments of naming:

[http://www.tinygigantic.com/2011/02/18/the-top-two- immutable...](http://www.tinygigantic.com/2011/02/18/the-top-two-immutable- laws-of-naming/)

1\. this isnt about you (or your wife. or your friend who's in marketing who really loves web 2.0 spellings. it's about strategy)

2\. everything dies in legal (so look for a bunch of names that are good enough)

</comment><comment><USER2> Yet tinygigantic seems like a pretty poor name to me, even with the attempt to make it work using an ant logo.</comment>


Ask HN: Using REST design for complex function calls? - <AUTHOR>

I like everything I've read about REST but am confused about how to use REST designs for an API with mostly complex, math-y function calls that compute values & return them.
Because the functions require complex - potentially, arbitrarily large - inputs, it's too difficult to pass them in via GETs.
Is there discussion or articles somewhere about using REST for computational APIs rather than for resource-based APIs? <comment><USER2> There's nothing about REST that requires you do use GETs for everything, quite the opposite in fact (read up on how the Rails REST API is designed for some inspiration).

Then again, unless you want to make a given function/input combination into a resource, you might be better of with a less RESTy approach.

<comment><AUTHOR> Right, it wasn't that I thought you had to use GETs for everything, but that, being these are calls that change nothing on the server, GET was appropriate.</comment></comment>


When Ted Lost Control of Its Crowd (2013) - <AUTHOR> https://hbr.org/2013/04/when-ted-lost-control-of-its-crowd <comment><USER2> This is Harvard Business Review talking about TED, as in the organization that hosts TED conferences, and is affiliated with TEDx conferences that are held around the world.

We are not talking about a random Theodore here, whose name gets shortened to Ted.

So, in the subject line above, the word "Ted" should instead be "TED".

<comment><USER3> I believe there's some normalization that happens to titles to prevent all- caps, and it sometimes is (mis)applied like this. Email the mods using the contact link in the footer if you'd like it corrected expeditiously.</comment></comment>


Am I Online? - <AUTHOR> https://gist.github.com/Crisfole/e15408a8821c079744b5

<comment><AUTHOR> My internet went down. And I didn't feel like staring at a non-internet enabled computer continually refreshing. So I set an iframe to reload sadtrombone.com with autoplay set to true over and over again.</comment>


What does a Hacker look for in a new laptop - <AUTHOR>

I have fairly powerful Desktop,running all different types of os like a charm,I am currently in the third year of my CS Engg., and I wanted to buy a laptop(dont know y ,just felt that i wanted one).So what is a coder/hacker like h/w configuration like( i recently started learning asp.net and already know c/c++ )Is a intel celeron m processor enough for coding needs and is portability a issue (as u get in an asus eee pc) <comment><USER4> It really comes down to the features you actually need or desire.

Take a hard look at your workflow and usage scenarios:

Do you plan on running a lot of stuff at once? Visual Studio or Eclipse use a lot of resources, you'll probably want to spend a bit on a better CPU and more RAM.

If you don't tax computers very heavily, you might be better served spending on a faster disk and skipping the extra RAM. I had a computer with 1G of RAM that I upgraded to 2G. I actually preferred it with 1G because I rarely use 512MB, and I suspend/resume all of the time. Double the RAM doubled my suspend time, and that's kind of annoying.

Consider your budget. Is this a short term discretionary spend or a long term investment for you? I believe that it's better to buy current generation, mid- high grade parts for some key pieces, electing to forego trendy cutting-edge features, if you're planning on holding on to this for a while. If this is a cheap impulse buy, skip the specs and buy the one with the neat bells and buzzers.

How hard are you on your equipment? If you have peers with laptops, especially some older or more used ones, look at the build quality and the things that are going wrong with them. Some laptop manufacturers (HP/Compaq) do stupid things like making the power cable connector L shaped, which makes the cord into a lever when the cable is kicked. This lever prys on the connector's soldering to the motherboard and trashes the computer. Some manufacturers (Dell) make computers that creak and crack and sag as they age. Some manufacturers (Toshiba) make the laptop lid position switch cheap and unreliable, which makes the LCD flicker when the screen is open. Some manufacturers (IBM / Lenovo) make computers that are tough and reliable but are so ugly you wish they'd die so you can get something else. Some manufacturers (Apple) make computers with such fiddly fit and finish that any service, even by a trained professional, will cause the seams and gaps to not be perfect anymore, which will annoy you because you paid a premium for all of that fit and finish.

For myself I prefer full processors (no Celerons), discrete graphics cards (perhaps passing on the current nVidias that are all failing right now), sufficient (but not more than that) RAM, the fastest hard drives I can afford, and the highest resolution screens available (1900x1200, particularly in a 15", is what I prefer). With this formula you generally have decent parts for things you don't normally upgrade (CPU), and you don't blow your budget on things that can be upgraded later for less (max RAM, larger capacity HD).

</comment><comment><USER5> Long battery life, light weight, and most important: fast wakeup and sleep when I close the lid! This is _the_ most important feature to me. I want to open it up, quick jot something down or check something and then close it again. If it locks up or churns for 10 minutes before I can use it, its a non starter. This has so far kept me on Macs.

<comment><USER6> "This is the most important feature to me."

I agree with this, with the caveat that actually more important is reliability. Our company bought a few Lenovo T60Ps - with how great the T43P had performed, we thought it would be T43P++. Unfortunately the wireless cards were VERY flaky. :(

So, I want: reliability so I don't have to futz with wireless and other functionality - and then instant on and off. "Elastic laptop"

<comment><USER7> If the biggest caveat is a wireless card, you can probably replace it.

I have a Thinkpad T41, which has been great except the OpenBSD driver for the included wireless card was incomplete (due to being reverse-engineered). It was only about $15 to replace it with a Ralink card; Ralink happily provided full tech specs to the BSD devs, and the card works quite well.

</comment></comment></comment><comment><USER8> If it were me I wouldn't go with a Celeron; for performance and cache reasons the Pentium M is the wiser decision. Maybe if you're preferring wattage and battery versus overall performance you'd go with Celeron. I run IDE's, profiling and debuggers galore so I need what the Centrino offers.

All great points mentioned here. Lightweight; you can get real light these days without being a DR. I love widescreen ever since I bought my new Thinkpad T61p and the poor displays on the Thinkpads are a thing of the past. I highly disagree that Thinkpads are ugly - they're made for efficiency and professionalism, not for show. Linux; my machine came with SLED of which I partitioned for my love of Ubuntu - gotta have Linux for kernel hacking and that obsessive need for ultimate control of your OS.

All that said, I'm a power user and by that I literally mean I handle my laptop ruggedly(and I'm sincerely not a klutz). For this reason I need a Thinkpad for always on the go and durable performance. They take a beating and their customer service(warranty related) is the best in the business. Had many other brands that crapped out after six to eight months on average - <USER2> last on average three years before I call in for warranty service(high resale value). My T61p is both lightweight, high performance, widescreen, and allows up to 4 GB of RAM, rugged and goes with me everywhere while taking bumps and bruises along the way. Need a new keyboard because your hackin skillz have worn away the home row, space bar and number row? Call in a service ticket and get a keyboard shipped out and arrived to your door in less than two days(Bigtime priority).

Once you go Thinkpad, you never go back, at least for me anyways.

<comment><USER4> Most people I give PC buying advice to really don't think like I do -- either they want a $400 computer, or they want some $2500 thing with some gimmick feature set (custom color lid? who cares? lightscribe blu-ray burner? do that at home! Vista turbo-memory? Why?). For this reason I sometimes over-discount my own opinions about them when I'm advising others.

I personally agree about Thinkpads not being ugly (when I made that comment I was referring to my wife's perception of them initially -- now she's a T61p WUXGA convert as well).

I also agree about Thinkpad reliability, but I know the plural of anecdote isn't data, and everyone's mileage varies.

I disagree about the T series weight. The T grew to fill the void left by the discontinued ~7 pound A series. Yes it's lighter but I feel sorry for any floor it might land on... but the computer will most likely survive.

I fancy myself a power / heavy professional user as well: I have a very low tolerance for hardware related BS. I run minimalist installs of the OS of my choice (XP at the moment). I expect to be able to throw my computer around (while off -- I'm not a sadist) and not scuff or break anything. I disable or order machines without gimmick features (Bluetooth is disabled on my T60p, I got one without the fingerprint reader), and I don't use the full (software- integrated) versions of drivers for anything I don't have to.

With this recipe, my Thinkpads have been very faithful to me over the last ~10 years, and Lenovo's going to have to really screw it up to lose me as a customer.

Depending on what you're looking for I'd say that IBM/Lenovo is ahead of even Apple on build quality. In my opinion Apple pushes too hard on fine design (fine lines and edges, thin case designs) where the Thinkpad team designs their machines to take abuse first and foremost.

If you're the type of person who values these properties I believe a Thinkpad should be on your short list.

<comment><USER9> > custom color lid? who cares?

I care. I have to use the machine(s) every single day, sometimes for hours on end. If it's ugly, I don't want to look at it. Same goes for accessories. It's impossible to find a half decent non-black or pink womens laptop bag (I believe there's a special and separate level of hell just for the color pink, that's how much I hate it). I just stick with nondescript messenger bags, which don't always fit the occasion but oh well.

My black MacBook has an engraved lid (<http://flickr.com/photos/chix0r/2490375769/>). The biggest benefit is that it sticks out like a sore thumb so I know it's mine, since so many people don't do _anything_ to their MacBooks after getting one. Very convenient when you're in a sea of Apple laptops..which used to happen to me at WWDC but now also happens at pretty much any tech conference nowadays.

It also makes a great conversation starter with lots of people who are very tempted to touch it..everywhere from airport security waiting lines to the apple store and all.

</comment></comment></comment><comment><USER10> I would get one of the smallest models I could. I'd also make sure it runs linux. use desktops for power that's what they are good at, notebooks should be portable, meaning comfortable to carry around in a bag for a while. Light as you can get.

About the only thing I would invest in is at least 1G of ram, maybe even 2G. laptops tend to ship with slower hard drives so if you start swapping you are really going to have problems. maybe benchmark your average ram usage on the desktop.

I've found that processor speed isn't as important as most people think, go light you'll be fine, this isn't a server.

last note. I regret buying a desktop replacement laptop.

edit: when I say make sure it runs linux I mean make sure that it's hardware is compatible with a linux install. That same hardware will work good with windows, and gives you freedom of choice later. Or you can just get linux now because linux rules.

<comment><USER11> Light as you can get AND linux friendly: that's exactly what I was looking for. I am now the very happy owner of a sub-2 pounds, Ubuntu certified, 12.1" laptop for 6 month, and that the best notebook choice I ever made. Right choice for me, but I am only on the road 5 to 6 days a month, so your mileage may vary if you are really a nomad worker.

<comment><USER12> I'm thinking of picking up something similar for traveling. What model are you using?

</comment></comment></comment><comment><USER13> I find one of the most important things is screen space. And I don't mean a gigantic 17" screen; I mean DPI. I have a 15.4" laptop with a 1680x1050 screen; this gives me room to work. I've seen laptops the same size with 1280x800 screens; I don't know how anyone could do much of anything on those.

Don't get anything too heavy. Mine's just over 6 pounds, and that's already pushing it.

Finally, don't worry about hard disk space; if you need lots, just grab an external drive; they're cheap these days.

<comment><USER14> I use a 15.4" Dell Latitude D830 @ 1920x1200 and wouldn't trade it for any other laptop made. I'd say 1920x1200 is about my limit for a 15" LCD, but if anyone makes a 17" laptop that goes higher I'll be first in line. It's amazed me for years how under appreciated the value of high resolution is.

<comment><USER6> I had one of those screens, and I thought I would love it, but it ended up causing too much eye strain. Major headaches! Now I prefer small screens with moderate DPI on the go, and using a large external LCD when possible.

Right now I'm using a 37" 1080P LCD as my home monitor and an X60 as my laptop. I use the LCD to keep various communication tools open and the large LCD for coding/reading.

<comment><USER15> I'm using the same laptop + external monitor setup, but I'd actually like to use two external monitors. For me, screen space and RAM are the two important factors.

</comment></comment></comment></comment><comment><USER16> For me, the killer feature is battery life. I used to have a macbook pro, but I'd get ~3 hours batter life at best (and only 2 hours, when doing heavy work).

I sold it, and bought a thinkpad x60, and get over 6 hours of battery life (4-5 hours under heavy load). I love that I can basically use it all day without worrying about battery.

Pretty much any machine has a fast enough cpu for the kind of work I do - <USER3> seems to be the big bottleneck now. (virtualization + firefox + emacs + python + sbcl + ... all take their toll).

</comment><comment><USER17> Most important: minimum 30 day return policy, no restocking fee if poss. You need to take the laptop to coffee shops, office, home, train, see what's annoying, like glossy screens may make you crazy. So i recommend Amazon, Costco, Target.com for returns policy

things that can render a laptop unusable:

\- poor display, keyboard, or wireless card; excess fan noise or heat.

nice to have: fast Core 2 Duo, minimum 2G RAM, if you're doing lots of compiles, spidering (DOM tree extraction), database indexing, anyting that pegs CPU's for more than a couple minutes.

like everybody else, my first choices would be macbook or Macbook pro/ Vmware fusion/ Windows XP and ubuntu, or thinkpad with XP/grub/ubuntu (i don't think you can buy them with XP pre-loaded anymore). Toshiba, Dell, HP still sell XP pre-loaded (the "downgrade option") Macbook is only model < $1800 that has DVI out, which makes a big difference

Toshiba satellites aren't bad, mine's been reliable for 3 years. Read the amazon reviews.

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

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

</comment><comment><USER18> An Apple logo.

(Joking aside, I refuse to work on anything else any more, life's too short to fight your OS)

</comment><comment><USER19> If you work much, you want a high display resolution. However, the laptop still has to be small, so there will be a compromise. Personally, I would go for something like 1280*768 on 13", which is both small and possible to work with.

The other thing you really want is silence. And battery life.

Even if you code a lot, CPU speed is rather irrelevant. Any Core2Duo will do (dual core and 64Bit are great to have). But RAM, you can't have enough -- and since it is cheap at the moment, don't bother and directly upgrade to 4G.

For me, this is a MacBook, but there are plenty of alternatives. For example, the FSC Lifebook series is really great. If possible, look for those business- offerings. They tend to use a little older but more reliable hardware, which can really save your day and will most certainly enable you to run linux.

</comment><comment><USER20> Personally, a Macbook Pro. I want a laptop to be fast to boot, reliable and nice to work on. Technically OSX is what does all this, but you asked which laptop you should buy, and you either get a Windows Vista or OSX machine. (not to mention getting a Windows machine and booting some flavor of linux, or creating a hackintosh, if thats what you want to do)

Spec wise, I'm running on a Macbook Pro 2006 model with a Core Duo 1.86Ghz processor and 2GB of ram, and I'm doing great. I'm sure one of the latest models with a C2D 2.4GHz CPU would be a bit faster, but I don't do anything too intensive (light photoshop is probably the limit of my number crunching apps). So pretty much anything you buy today (except the ultra-budget machines, of course) will suit you for your needs. Just make sure you have a nice amount of ram! :)

</comment><comment><USER21> Purchased an Eee 1000H and got it up and running today.

Blew away the default XP install for Heron. Had to fidget with some packages and the kernel a little to get it all going smoothly. Not too bad.

What sold me on it was the ergonomics (keyboard's perfectly usable, 10.2" screen) and the portability (5 hours of battery with continuous use; I let it sleep when I wasn't using it and went all day on a single charge).

The goal was to have the laptop on me at all times so I can get work done anywhere.

</comment><comment><USER22> High DPI, lightweight (I can always plug it into an external monitor if I need the real estate, so 13" monitor at most), large disk (for portability of all my files - I have a fileserver at home and use offline files), long battery life.

If you want to code, don't get an Eee PC.

For general hacking, processor speed these days doesn't seem to be an issue...

<comment><AUTHOR> wat abt celeron m processor can it run visual studio?

<comment><USER10> if it's 1.5Ghz or more then you'll have no problems. Unless you are doing a lot at once you can probably get away with 1Ghz and maybe less. Ram is killer and remember this is mobile not your primary coding box.

<comment><USER22> Thanks -- I forgot to mention RAM. I use anything with less than 2gb now, 3gb preferred.

</comment></comment></comment></comment><comment><USER23> since you have a desktop, get decent average laptop(dual core, 2gb ram, big HDD, internal cd/dvd-rw-unless you don't mind lugging an external one, wireless card, and comfy keyboard).I tried coding in eeepc 7" screen and it didn't get me far. I used 12" asus ultraportable running linux for years and they are good and has pretty solid build. Unless you're getting a linux certified one or buying from a linux-laptop vendor, chances are some features won't work. I just recently switched to 17" mbp because my coding activity has demanded it (more horsepower and screen real estate), but keeping my 12" for fun hacking and cracking. Both lappies has one thing that's very important for coders: NICE keyboard. That being said, choosing a personal laptop is like choosing a GF/BF: it's personal, only you know your coding habit and which feature is the most important for you.

</comment><comment><USER24> A MacBook Pro :)</comment>


WeWork raises $780M at $16B valuation - <AUTHOR> http://fortune.com/2016/03/09/wework-is-raising-780-million-at-a-huge-valuation/ <comment><USER2> That valuation seems so far away from reality. A huge bet on coworking spaces as the future.</comment>


12 things that would make you a better software developer - <AUTHOR> http://rebugged.com/12-things-that-would-make-you-a-better-software-developer/

<comment><USER2> I'm going to have to forcefully disagree with #11 - "Write jokes in comments".

When I encounter a jokey comment, I always think "if you had time to think up and write this joke, why didn't you have time to make an efficient/readable/less buggy function here?"

Also, the jokes I've encountered have always seemed dated, stale, and maybe irrelevant.

Please do not do this, ever. Flat, no-nonsense comments, please. Don't inject personality, and you should consider using E-Prime in English-language commentary. Any use of "to be" verbs in comments obscures what you write about.</comment>


Steve Jobs programming live on the first NeXT computer - <AUTHOR> https://www.youtube.com/watch?v=92NNyd3m79I&t=3880 <comment><USER2> Needs (1988) in the title.</comment>


How powerful interests are redistricting away your vote - <AUTHOR> http://www.propublica.org/article/hidden-hands-in-redistricting-corporations-special-interests

<comment><USER2> this is by no means a new concept. Redistricting has always been a political exercise in circumventing the will of the people. what changes sometimes is whose hand ultimately redraws the districts.</comment>


Grieving for Apple - <AUTHOR> https://wincent.com/blog/grieving-for-apple <comment><USER2> I'm sure there's a word coined for these 'death of Apple' posts.

It is true that my 2020 Macbook Pro 16 is not as much better than the competition as my 2011 Macbook Air was.

But it is still definitely the best laptop I've ever owned. I keep my laptops, and I can reach for whichever one I want: 2011, 2013, 2015, 2016, 2018 in Air, 13", 15" and now 16" form factors, and I choose the 2020. I also daily reject a number of windows and Chromebook pieces of hardware in favor of the MBP16.

When I don't choose it, I most often choose my iPad pro at times or my iPhone.

A thorough and hard ecosystem-level look at realistic competitors just doesn't turn up anything that even comes close in terms of just "working".

Probably the closest would be an XPS developer running Ubuntu, but that is a completely different experience than the 'it just works' world I get to live in with my Macbook. And, by "it just works", I include a decent package manager with homebrew, a very solid neovim or spacemacs development environment, a fully working highdpi environment without 'quirks', ... the list goes on. And, Windows has no Unix underneath it plus it contains ads in the start menu. For me, it's just not a serious option for real work.

In all, I'd say that most people agree with me; the market seems to prefer this hardware.

<comment><USER3> My 2020 MacBook Pro 16 crashes frequently when it goes to sleep. [https://discussions.apple.com/thread/251223766](https://discussions.apple.com/thread/251223766)

This has been a downgrade for me.

<comment><USER4> I had the same. Disabling power nap did it for me. If this doesn't help I read disabling graphic switching does it.

But yeah it's redicules that We have to deal with this on a $3k laptop

<comment><USER5> hold on, disabling power nap won't fixes the auto log outs. it's a (new?) security setting.

one sec...

alright okay. for anyone having the issue, you have to go to your "security & privacy" -> click on padlock -> enter password -> click on "advanced". in the sheet disable "Log out after X min of inactivity".

</comment></comment></comment></comment><comment><USER6> I recently (3 weeks ago) switched from OS X to Ubuntu 20.04 after a decade of using macs as my primary desktop for software development.

I hadn't used desktop linux in about 15 years and I have to say I was pleasantly surprised. Everything that I remembered being difficult was straightforward. My AMD graphics card worked out of the box with dual monitors. Bluetooth, wifi, HiDPI (two 5K displays), USB plug and play, volume buttons on my keyboard, all seamless.

There are still a few quirks here and there (mainly HiDPI in some apps like Spotify, which there are workarounds for), but I'm happy with my setup and don't plan on moving back.

With Firefox, VS Code, Slack, Spotify, and 1Password X all being cross- platform my workflow didn't even change.

<comment><USER7> Add to that excitement the new System 76 Lemur Pro 14" 2.2 lbs laptop with 40 GB of RAM and a massive 73 Wh battery and you're really going to be excited [1]. I got one recently (moving up from an old Sony Vaio).

I've been daily driver on linux for about a decade now and have to agree that it's awesome now.

[1] [https://system76.com/laptops/lemur](https://system76.com/laptops/lemur)

<comment><USER8> The price scared me at first, but I had to remember the cost of the new MBP. Very impressive for the cost, and the 2.2 lb weight is really great, especially for a 14". If I was looking for a laptop to serve as my main machine, I could see this being a really strong competitor.

Seems like a great machine, as long as you're a Linux user.

<comment><USER9> When I was comparing Mac laptops to PC alternatives they usually ended up within a few hundred dollars. Sure, saving a few hundred dollars is nice, but I'm fairly confident I can sell the Mac in a handful of years for a decent price, confident I'll use it for a handful of years, I'm familiar with the build quality and avenues for parts and replacements, and things like trackpad, biometrics/fingerprint, and battery life are a known quantity for me on a Mac. Saving only 10-15% made it less appealing to make the jump-- conversely, I can see people not wanting to pay an extra 10-15% to jump to a Mac.

</comment></comment></comment></comment><comment><USER10> I went through the same cycle or frustration from apple products, I've bought 6 laptops in the past year trying out all of the competition. The truth is, all of the alternatives, as frustrating as apple products can be, are just not as good. And that's by a very very long shot. However fucked apple products are, the competition is FAR behind. So I just swallow it and keep biting the bullet.

That only applies if you want a LAPTOP, if you can live in with something fixed to a desk, there's plenty of viable better alternatives out there.

<comment><USER11> I disagree. I got rid of a 2013 MBP and a 2019 MBA and went back to a thinkpad T470 running Windows 10. 300% less of a pain in the ass. Keyboard works reliably and isn't horrible, doesn't get ridiculously hot, actually has enough USB holes, can actually drive it from the keyboard without tying my fingers in knots, battery lasts longer, less fighting against the OS, less bugs (that one hurt to write) and it doesn't give me a rash that bleeds on my wrists. CPU, memory, storage is about the same as a high end MBA. Display is 1080p so runs at 125% scale which is pretty good. If I break it I just get another one off eBay in 48h turnaround for less than the price of just a new screen for the MBA. Oh and it docks too and I get triple head displays...

<comment><USER12> You're right about everything except high dpi handling.

Also can't beat Apple on trackpad and screen quality.

<comment><USER11> I hardly miss the Retina display. The 1080p display with 125% scaling is good enough. It's not spectacular but fine for a laptop.

The trackpad I didn't like on the MacBook either. I found it made my finger tips sore after a few hours. I'm using the TrackPoint on the T470 and have the touchpad disabled

</comment></comment></comment></comment><comment><USER13> If the touch bar (which I agree is useless, or worse, actively counterproductive) is the worst thing he's annoyed by, then Apple is doing pretty well for a computer manufacturer selling 20M units annually, don't you think?

I think we have to have some self-realization that the gripes that appear here generally are so specialized (the MacOS Catalina notarization problem just today) that if you sit here you think the world is coming to an end. Yet millions of people purchase and seem to get along just fine with buying what Apple is offering.

Now, admittedly, one of the great selling points of Apple Mac is that its power features are (were) designed exactly for developers and professionals to be easy and high-performing, so they need to pay attention to it. But they generally do, don't they? The notarization problem above, let's revisit in 1 month and see if it got some attention?

I'm just saying that it's easy for your threshold for what's unacceptable has a tendency to keep on rising, and you get unhappy with smaller and smaller things. It's important to keep a perspective about it.

If it is truly horrible what Apple is doing or becoming, well of course you know that Mac / Chrome / your favorite app or hardware were all born out of being unhappy with what someone else built, and going out to build something new themselves.

Everyone is absolutely free to go and invent the next better thing and displace the old and tired.

<comment><USER14> Selling well doesn't always mean doing well or doing good.

IT departments for companies that give their staff macs will buy whatever garbage Apple makes available because they have no other option. Same with consumers stuck in the Apple ecosystem.

I've been holding out on buying a mac for nearly a decade because they have no compelling products. I'm stuck using a hackintosh workstation and a crappy windows laptop for on the go.

<comment><USER15> Right, because most of Apple sells come from the Enterprise. Apple has a long history of going out of its way to support big enterprise to convince them to buy Macs.

</comment></comment></comment><comment><USER16> If you really believe that a company can churn out nothing but perfect products over and over again without making any mistakes, then maybe you have been drinking too much of Apple's Kool-Aid. Every top company has good and bad generations of products, and Apple is no different.

This type of post complaining about Apple losing its soul and dying has been coming out regularly for at least the decade since I've been following Apple, and probably back way farther than that.

Something about Apple makes it an irresistible target for this kind of criticism for some reason. Check out the MacRumors forums for examples.. it's a group of people who track every move Apple makes, yet overwhelmingly complain about every potential flaw.

That's not saying that there aren't flaws to criticize about Apple's products, which there certainly are. But the level of vitriol is extreme compared to what I see directed towards most other companies (except video game companies.. gamers are a tough crowd).

<comment><USER17> I don't think Apple should be held to a "no mistakes" standard, but for the last few years, the trend has been toward less functionality and more user- hostility.

Take the drop of 32 bit support. There are now huge swaths of software, software that I paid a lot of money for, that I can no longer use if I buy new Apple hardware or upgrade to the latest MacOS.

There are bright spots, too. The new keyboards are much, much better than the butterflies, and the physical escape key is a welcome return.

But in general, when Apple announces something new, I'm worried about what they're going to take away from me, not what they're going to start offering.

<comment><USER15> Apple hasn't shipped a 32 bit Mac since 2006. How long was Apple suppose to keep support for 32 bit software? Should they also have kept support for PPC software? 68K software?

<comment><USER18> > Apple hasn't shipped a 32 bit Mac since 2006.

So, they could easily have given developers a roadmap/timeline of 13 years saying "in 2020 we're going to deprecate 32bit software, please upgrade". Instead, they gave everyone less than two years.

In comparison, the switch from PowerPC to Intel took over four years. And this was at the time when MacOS had significantly less software available on it. Apple themselves released the last version of software that supported PowerPCs _7 years_ after the announcement of the transition.

<comment><USER15> They kind of did when they announced Carbon wouldn't have 64 bit support over five years ago.

PowerPC support was dropped in 10.7 three versions after the first Intel Macs came out. It was an optional download in 10.6.

</comment></comment></comment></comment></comment><comment><USER19> I completely agree with all of this. From the costly obsession with creating an ever-thinner MBP at the expense of usability, to the demonstrably hostile removal of Target Display Mode in the iMac and beyond, it's pretty clear Apple stopped designing their "pro" products for their pro users some time ago.

They've gotten way too comfy with their position in the personal computing space and I too am regularly looking at the alternatives. If the last 5 years are any indication of how the rumored ARM migration is going to be, then we're in for a really rough ride.

<comment><USER20> _From the costly obsession with creating an ever-thinner MBP at the expense of usability_

The latest MacBook Pro is thicker than its predecessor.

</comment></comment><comment><USER21> I just started writing up a big spiel about the constant daily agonies I endure while using my older Apple hardware, but after a half an hour of it, I abandoned it.

It would take me a few days to write out the list of grievances that started when the iPhone arrived, and how Apple splitting its attention between desktop and mobile began the long, slow decline, and how it is reminiscent of the old Apple/Macintosh internal wars that almost brought down the company.

Basically what it comes down to is that Apple has a trillion dollars, and that's great and everything, but it means that it's the establishment so it can't innovate anymore. The bottom line is now its top priority.

For Apple to save its reputation in the eyes of geeks everywhere, it would have to listen to any geek anywhere. It would have to stare at the ground quietly as the grievances are aired, and then have the maturity to grok what it's heard and do something about the problems.

I know it has teams of engineers working on this stuff day and night, and even has a great CEO and everything else. But sometimes in spite of all of that stuff, companies flounder. It's just especially tragic when it's this dream company that got countless millions of people interested in tech initially.

Seriously, take a break Apple. Put all the grand plans aside for a while and listen. I guess that's it. Sorry this came out kinda harsh, I'm not mad, I'm just disappointed.

<comment><USER15> Why do you think Apple cares about the "geek"?

<comment><USER18> Because somehow they still pretend to care about power and professional users.

<comment><USER22> Programmers are not the only power users

<comment><USER18> I know. That's why I didn't say programmers. The bad quality of their hardware and software affects all power/pro users.

</comment></comment></comment></comment></comment><comment><USER23> I don't disagree with the thesis, but I was disappointed to see yet another rehashing of tired power-user nitpicks about MBPro hardware details, some of which have even been phased out already. The opening made me hopeful I was about to read a thoughtful piece about what's changed in Apple's soul, but instead all I got was an unoriginal rant.

</comment><comment><USER24> The Apple I cared about died when the Macintosh arrived. Or was it when the rainbow logo was replaced by chrome? Or was it when they abandoned Hypercard?

Or when I had to spend hours researching how to tweak the serial port to do 31250 bps I/O MIDI? Or when the serial ports disappeared and my n x $1000 of serial-port hardware meant I should buy a new Mac.

By the time it released mobile phones with hard-wired batteries, the good Apple was a distant memory. Borged.

</comment><comment><USER25> Mention of Stockholm Syndrome, in the article, is the key.

Current customers are self-selected as willing to endure any degree of degradation, provided it is arrived at via sufficiently small steps.

Apple is fully equipped and enabled to provide well-above-average quality products and admirable service by the high premium they charge, but instead they pocket the difference, every time. Customers are left with the dubious benefit of price-signaling, which is increasingly shading into sucker- signaling.

I get that, looking only at Microsoft, it is hard to imagine stepping down. But that was never the only alternative.

</comment><comment><USER26> Ah good, I was worried we'd go more than a month without one of these.

</comment><comment><USER27> Pretty much how I feel, except I have less sadness and more anger. I haven't bought a Mac laptop since 2015, and I bought 4 PC ones to test my migration path to Linux, even if it proceeds glacially due to having other things to do, and in any case 15 years of workflow takes a while to switch.

</comment><comment><USER28> After 15 years of using Apple exclusively for my "creative" work (music, photo, video), I've switched back to Windows 10 for those needs. Paid work is still 100% Linux (including the laptop I'm typing this on), but I ain't payin' $6K for a workstation, sorry Tim. Especially if I can't use an NVIDIA GPU in it. And HP Z32 4K monitor costs $200 less than the Apple _display stand_.

</comment><comment><USER29> I couldn't agree more, I wish a new innovative platform would emerge. Apple is too comfortable and their products just aren't worth it anymore.

<comment><USER30> My dream platform would be essentially a revival of OpenDoc ([https://www.youtube.com/watch?v=oFJdjk2rq4E](https://www.youtube.com/watch?v=oFJdjk2rq4E)), except it's built on top of the Common Lisp Object System, a dynamic object system that supports multiple dispatch. Users can integrate components either programmatically (like Unix pipes but with even more flexibility) or through a GUI interface. GUI programs would be written in such a way where its UX is highly flexible. The desktop environment should be fully themable, and GUI programs written for this environment must comply with these themes. This themability allows users to choose how they want their desktop environment to look. If they like Material Design, they can use a desktop that adheres to those standards. If they like classic UIs like those from the classic Mac OS or Windows 95, then can choose those options and the programs would fit those standards. They can use themes that have entirely different design standards.

The goals of my dream platform would be composability and flexibility, the complete opposite of monolithic applications and opinionated UI/UX design. This would run on Linux/BSD and would be implemented in Common Lisp, though there will need to be some ways to allow programs written in other languages to access CLOS objects since developers should be able to code in the languages of their choice.

</comment></comment><comment><USER31> I thought everyone knew that you waited at least a year on Apple hardware and software. I'm still on 10.14 and have no problems with it.

That said, I don't get the hate on number of ports. USB type-C is a godsend - single cable to my monitor which provides power and USB hub.

I'm probably also in the minority on this one- I just got a new 16" Macbook Pro work laptop, and I much prefer the keyboard on my 2018 15". The esc/touch ID now being buttons are great. The speakers are amazing.

</comment><comment><USER32> I tried a world without Apple and lasted 2 months. I switched to a top of the line Pixel phone (which is now in a box) and top of the link thinkpad. (Sold it for next to nothing).

Overall I am glad we have choices. Everyone should make the ones that work for them.

Give Google can't make a decent android phone or watch after significant acquisitions and investments, building real amazing things that make your life better is hard.

I'm glad lots of people still are trying hard.

</comment><comment><USER33> I disagree.

On ports, 4 is enough. At home and at work, I use standard Thunderbolt docking stations, so ports on the laptop are irrelevant. When traveling, I typically use at most 2 HDDs, so 4 ports is plenty. I'd honestly rather have the battery life than the ports.

On the keyboard, they've fixed it in the new laptops. I agree it was awful for a long stretch there.

On the annoying prompts, they are there for security, and I think they made the right call generally. Everyone thinks security is so annoying, right up until they get rooted.

On the Touch Bar, I think they missed the mark, but I appreciate the fact that they are innovating. And in the end it's an OK replacement for the function keys (now that there is a physical escape key).

On the OS phoning out before running executables etc, I agree that it sounds like a poor implementation overall. That said, I've never noticed any delays from it in my 2016 MBP.

All that said, I always think it's a good idea to try new things, and there is no harm in switching brands/OS's/etc. As others noted, so much software is cross platform these days that switching is much less of a commitment than it used to be.

</comment><comment><USER34> Apple is a phone company that has a side business in personal computers. This is good for Apple, because the personal computer business as a whole has been pretty stagnant for a long time. The article would have been much improved by at least making a nod to the fact that their beloved computer make was now in fact primarily making other devices

</comment><comment><USER35> >it's becoming increasingly obvious that the Apple I once loved is moribund

If there is anything more pathetic than an adult expressing love for a publicly traded corporate entity regardless of what they make or where they're from or how cool their marketing is, I haven't found it.

edit: Never mind-- writing a 1600 word essay about the lover-who-must- file-10Qs who is disappointing you and then publishing it online is definitely more pathetic.

Compare and contrast:

1\. it's increasingly obvious that the White Rock Beverage Company, Inc. I once loved is moribund (followed by a SIXTEEN HUNDRED WORD ESSAY about how they changed the recipe of Sioux City Root Beer and it sucks now)

2\. it's increasingly obvious that the Apple, Inc. I once loved is moribund (followed by a SIXTEEN HUNDRED WORD ESSAY about how their laptops suck now)

</comment><comment><USER36> Hmm. The way I see it, Apple still seems to have the same basic attitude of high-value of aesthetics over function and a "my-way-or-the-highway" attitude, backed by just a bit less creativity in innovating actual function.

It doesn't seem that much different, but a little less satisfying, ultimately.

</comment><comment><USER37> I rarely use the mac that my company issued to me, but I couldn't place my finger on why exactly. It's a general feeling that everything about it is obnoxious and cumbersome. Probably the sum of all the little things (and more) mentioned in this comment.

This was curiosly not the case the last time I was issued a mac, which I used pretty much all the time and not just for work; essentially replacing my personal (Linux) device. That was a 2016 model, when this trend had already started, so I guess everything has exacerbated in the three years since.

</comment><comment><USER38> Apple is not alone in making janky laptops since 2015. Most of them are junk. They all get too hot, have too much brittle plastic, and low rez displays unless you want to pay a high premium. I've been liking the Chuwi laptops for $200. At least if you get a cheap laptop, pay a cheap price.

</comment><comment><USER39> > I bought a refurbished mid-2015 model which I love. From a utility > perspective, it's the best laptop they've ever made, with a bunch of stuff > that you'd reasonably expect to find on a "pro" Apple laptop: namely, 8 > ports/slots

Only two of which are actual USB ports.

I'd still have to carry around a hub to use it with my mobile music production setup.

</comment><comment><USER40> OK, let's craft a way out.

</comment><comment><USER41> It's profit-driven software, dummy.

<comment><USER14> Apple seems to be driving their software toward what they _think_ the consumer wants (and maybe even what the consumer says they want, or even choses to buy because of), instead of what the customer _actually needs_. Yes, the customer might feel enamored with what's being sold, but they could have been even more enamored had Apple focused properly.

<comment><USER15> Well, if it wasn't what the _consumer_ wants, then why are consumers still buying their products at a premium? Maybe it's just not what a few outspoken geeks want.

<comment><USER41> Customers do buy what they want relative to other products in the market, but absolute satisfaction could still be broadly low across the board. The incentive to fix commonly complained about problems is tied entirely to the speed to which their competitors respond—shared incentives prevent the market from improving as a whole through competition.

This is especially true in markets where the capital investment required for entry is in the billions of dollars, like smartphones, operating systems, vehicles and other patented infrastructure (looking at you, john deere).

Overall the claim should be that "customers buy what they want from available products", so that the one can not claim the converse, that a customer is necessarily satisfied with the products they purchase.

</comment></comment></comment></comment><comment><USER42> Buy something else then.

<comment><USER43> He is going to, as he says at the bottom of the article, and he has bought 2015 refurbished models to avoid the headaches.... lol?

</comment></comment><comment><USER44> Amen

</comment><comment><USER45> I had a similarly emotional schisms with Apple, but back in 1997. I finally became aware of Apple's penchant for designing "road apples" to fuck cost- conscious consumers. I worked hard as a teen to buy my 62XX Performa, but later when I found out that it was a piece of shit because Apple deliberately designed it as a piece of shit... well, fuck them, really. No respect for their buyers.

I switched to Windows in 1998 and didn't look back.

[https://lowendmac.com/2014/road-apples-second-class- macs/](https://lowendmac.com/2014/road-apples-second-class-macs/)

<comment><USER15> Apple has never catered to "cost conscience" computers. Even back in the early 80s the 8 bit Apple //e's were more expensive than competitors. T</comment></comment>