Posted
by
Soulskillon Tuesday July 15, 2014 @07:55PM
from the da-vinci-code dept.

An anonymous reader writes Writer and former software engineer Matt Gemmell adds his voice to the recent rumblings about writing code as a profession. Gemmell worries that the latest "software Renaissance," which was precipitated by the explosion of mobile devices, is drawing to a close. "Small shops are closing. Three-person companies are dropping back to sole proprietorships all over the place. Products are being acquired every week, usually just for their development teams, and then discarded. The implacable, crushing wheels of industry, slow to move because of their size, have at last arrived on the frontier. Our frontier, or at least yours now. I've relinquished my claim." He also pointed out the cumulative and intractable harm being done by software patents, walled-garden app stores, an increasingly crowded market, and race-to-the-bottom pricing. He says that while the available tools make it a fantastic time to develop software, actually being an independent developer may be less sustainable than ever.

There is a slew of missing applications for industry verticals where there is no race to the bottom. I don't see any evidence that the mobile world is even close to saturated. It may be that general audience horizontal applications aren't the best place for small teams but that isn't the end of the world. How many general purpose task managers and tower defense games do we need?

The industry does not want independent software developers. The industry wants teams of full-time employees.

Software suffers from the smartest cow problem (it only takes one cow to figure out how to open the gate in order for all the other cows to pass through). For example, once one company creates a really good word processor, we don't need ten more to compete with them. The result is total market dominance for the one who does it first (or markets it the best), and a tremendous incentive to lock their program up with patents to ensure that other companies can't just duplicate their work and compete with them.

All of this drives the industry to take the form of a few enormous major players with teams of (cheap) developers working for them, and a shared interest in keeping all independent developers (who could upset their market dominance) out of the industry.

No. The software industry wants offshore dev houses or bottom-of-the barrel H-1Bs that are bottom of the barrel cheap, and can crank out code at a level where constant patching of their early beta quality app can keep the griping and one star reviews to a dull roar.

Want to know what sells... fix bugs or add features to already present stuff. For example, if some college student found and checked in a patch to OpenSSL, they likely would be hired somewhere.

The problem is the illusion of wealth. Instead of trying to work on infrastructure which will get props on the CV, people want that instant gratification of purchases and IAP content from writing yet another fleshlight app.

Another cow analogy, If you are on the beaten path, and there are cows around you, don't expect any fresh/sweet plants to nibble on. Jump the electric fence and find new territory. Yes, it might not be comfortable, but that is where the money is.

I can name 10 apps that may not be profitable, but extremely useful:

1: A GOOD pgp/gpg app. There are a lot of crappy ones, but none that have a consistant UI and take advantages of the phone itself to store secure data. iOS has protected files, and Android can use loopback mounts to secure data. No PGP/gpg app on either platform takes advantage of this for keyring security.

2: A program like USB Disk Pro on iOS which allows one to move files between cloud servers, work as a USB drive when connected, use WebDAV if you are using the same wireless segment as another computer, and offer FTP, samba, and NFS access. Pretty much a Rosetta Stone of file transfer protocols that would allow one to move data to the phone, then off to some cloud provider, optionally encrypting it with sturdy encryption (ideally OpenPGP packets.)

3: An office suite that can keep all files in an encrypted container regardless of what OS it is sitting on. That way, confidential data that this app holds can't spill out, even if the device has no PIN/password.

4: A client that can work with Splunk so one can write and push dashboard data which are securely (securely as in SSH-like application level encryption ontop of SSL) pushed to the device, so an admin can keep an eye on his machines when not in the office.

5: An open alternative to Citrix Xen Desktop and Citrix Receiver.

6: An Amazon Glacier client for archiving documents for the long haul. Not a proof of concept, but something full featured with encryption, and the ability to interrupt and resume uploads/downloads.

7: For Android, a way to sync music between a PC and the device. iTunes sucks, but it does a good job at keeping track of songs, and if I erase my phone, good at throwing back all music, perhaps even transcoding it (the noise floor of my vehicle is so high, 192k AAC files sound OK.)

8: A decent e-Book app that is completely vendor-neutral. Think Calibre, but for mobile devices. Bonus points for the ability to back up, sync, and restore the collection somewhere.

9: For Android, an app that uses device admin privs to auto-erase the device if it has not successfully gotten onto any network for a period of time. Blackberries have this, and what this does is prevent a thief from accessing data by just yanking the SIM card, as well as ensuring the device only has "x" amount of time while it is offline before it kills itself.

10: A studio quality mixer app and a hardware interface. That way, the phone or tablet can be used as a 4-track with good sound quality.

No, it didnt. Word Perfect excellent, I actually used it in DOS to write technical manuals. What really happened is other players used their dominant position to effectively lock them out of the market. Microsoft worked with the Apple teams to produce Microsoft for Mac. Windows was also shipped with buggy and/or incomplete APIs and then only Microsoft Office brought the additional functionalities/patches bundled with the product to ensure the competition could not write a stable/faster competitor. This not

The idea that a tiny team can always make something amazing isn't true. Big projects often need big teams. The model shouldn't be "all tiny shops, all the time." You wanna do a tiny shop, go for it. Just know there are things you can't compete in.

Also it is a waste of resources to have people keep creating the same thing over and over. We should want to see 100 groups creating 100 word processors. If you can legitimately make one that would be an advantage for some reason then great, go to it, but don't do

Well, tiny shops can compete, but sometimes they're deliberately excluded because they're not backed by a major IT consulting firm/custom solution provider(such as IBM, Northrop, etc) or major COTS vendor(such as ADP, Kronos, etc). The company I work for was independent for 20 years and very successful, but we weren't even allowed to submit RFPs on some projects because of requirements like that

The industry does not want independent software developers. The industry wants teams of full-time employees.

When I read what you typed I am perplexed

Exactly which industry that you are referring to?

I have had a string of successful investments in many starts-up and will invest more in the future and it is never my intention to change those starts-up into humongous monsters (although if they change by themselves I won't stop them) employing teams and teams of data monkeys

But TFA does contain a nugget a truth, that is, the so-called "Software Renaissance " is long dead - but not because of the mobile platform, r

Guy spends 20 years doing something and decides he would rather become a writer. Things he used to internally justify the decision, instead of being a sign to change jobs or move to a new city, are now reasons for EVERYONE to jump out of the game.

None of your questions seem relevant, because one ex-coder is not a rigorous study with good selection criteria and clearly reported margins of error.

In my line of work, this guy stands out as an outlier who was looking for a reason to quit. His friends are all apparently employed and doing fine, not complaining about being *this* close to losing the job, or cuts around the corner, or asking how he changed careers.

Sure. Take leisure and hospitality. The big vendors (and these have all hundreds of thousands of users): Par, Micros, Ceniua, Maestro, Infor, Agilysys don't have good applications that can tie to the guests or visitor mobiles. So there is no way that guest can use these systems to make requests, people still have to call the front desk to get more towels. Guests have no way of knowing about other services the hotel is offering. Most of these systems don't have good applications for their ground level workers as far as logistics so the maid can't put in she wants to pick up extra shifts and then get notified that the hotel is short so she can show up to work 3 hrs early.

So there is no way that guest can use these systems to make requests, people still have to call the front desk to get more towels. Guests have no way of knowing about other services the hotel is offering.

Be careful what you wish for. If any one of those companies you named latches on to that idea, they'll create an app that interfaces with their system. And it will demand access to EVERYTHING in your phone, watch everything you do, spam the shit out of your entire contact list, and otherwise do its best to make the NSA look as benign as a curious neighbor.

Likewise for the app they don't just provide to the maid, but demand the maid install.

That's one of the huge advantages of Apple's model. Applications can't demand access to too much or they don't get pass the app store. They have to work well with privacy setting or they don't pass....

The walled garden may look like it makes it easier for users to get your app, but if it's the only way most people use to get apps, then there is no diversity in ranking. With only a single option for getting users to notice you, you end up with what I call the rock star economy: Few make it big, the rest need a real job to support their art. The walled garden is a hit parade and it has the same effect on product diversity as the equivalent in music.

False. What's wrong here is that there is a slew of young developers out there who don't want a job they need to wear a tie to so they go out and try to catch the latest "wave" of the app world. What we end up with is a thousand versions of Tower Defense and only 3 make any real money. That's reasonable to me as 95% of most apps out there come off like the degree capper project that they are. This isn't mature software, this is slackers who want that lottery ticket but haven't considered making something original and worthwhile. We see this with every software wave and mobile apps is just the most recent version of this.

Just as an aside, I've yet to wear a tie and I've had plenty of "real jobs." If wearing a tie is the requirement, I'll pass. Fuck, I don't even think I *own* a tie, much less a suit.

You should get one. I haven't been able to wear my suits to work much because I look silly sitting next to all the other long haired unshowered developers with ripped jeans and body odor loodking classy. So, I just wear it around town when I want to drink whiskey, smoke cubans and pull women. Kinda like Barney Stinson.

I wish someone had told me in high school how much easier your life becomes if you invest a bit of time and money into decent clothes. My life would have been so much more enjoyable.

It is not. Let get straight, suit is a professional atire, much like a MacDonalds or an army uniform. Suits are only appropriate for weddings, formal occasions and not much more. Only people who really dont know how to fit in will select a suit as an elegant dressing. Furthermore, there are suits and suits, when I was a consultant 15 years ago I only used suits that cost more than 800 dollars, at least.

There are suits and then there are suits. I have a closet full of suits, but I doubt I could wear any of them to work or a wedding (except for the tuxes). I wouldn't say formal occasions as much as special occasions, and when you're wearing a suit, every occasion becomes a special occasion. Wearing a suit generally shows you have style, can groom yourself, and at least the impression of some wealth. There's a saying that suits are for women what lingerie are for men, and judging by the comments I get while

There are some obvious rules - avoid black and dark blue it is connoted with work. Do not buy them on the cheap. Unless on a tropical climate, avoid light colours. Black shoes go with almost everything, not so much with brown shoes. A couple of months ago, after a work meeting, I went shopping with a suit and a matching overcoat a present for my wife, and the amount of attention I got from the store attendants was ridiculous. I use to wear suits almost everyday, nowadays less than 10 days a year.

There are places to wear suits, and places not to wear them.As there are the places for bathing suits. It is a matter of common sense, you would not come in a bathing suit to a wedding or go to the pool with a suit. As for devs or sysadmins, when we see an office full of suits, it is an huge red flag. HUGE one. We know we wont be evaluated fairly, the standards of evaluation are just fluff, bullshit talk and keeping up the appearances because they do not know any better, and have also to promote and protect

On a related vein, best lies in the industry, that work specially dealing with the young work force:
- "I am giving you less than you asked, because I want to evaluate and give you a raise in 6 months"
- "We will promote you accordingly to your skills"
- "You are being promoted because you are an outstanding technical guy, but you dont write good reports, and do can not do the accounting and quality work in your projects"
Face the reality, people who judge people by the way they look, by the way they bulls

What do you wear to interviews? I have one suit, and one tie, and the only time I wear that dreadful outfit is to interviews. After that, it's either jeans or slacks (the latter for stupid companies with a "business casual" dress code).

I'm wondering if wearing a suit to a tech interview is a good idea. It may send the wrong impression. Wear good-looking intact clothes, but be wary of the suit. (I haven't worn one to a second interview in decades. At the first interview, you notice what people are wearing. For the second, you wear clothes somewhat nicer than what the employees wear. If this means I wear a suit to the second interview, I'm not really interested in the job.)

The only time I wear my suit is for interviews. I don't have any friends that had big $100,000 marriages (just small private ceremonies like I did), so no, I don't go to friends' marriages. What other formal events are there to go to? Real life isn't like a movie about rich people for most of us. We're mostly software developers here, not billionaire playboys.

Not really, worked a consulting job for Rolls Royce a couple of years ago (Derby). Twenty network design guy in the room (FUCK open offices) and as the only American I was the only one not wearing a tie every day.

That remark is nonsense. Most hobbies require an investment in tools and materials to continue the hobby. At $8-40 / month, iDevelopment is among the cheapest of hobbies. Evening adding in the Apple tax to own a couple iShinys still keeps this well below the cost of most modest hobbies.

If someone is trying to make a living off iCrapware, then they will certainly need to be making a good amount more than that per month to sustain themselves. Not being able to afford a fixed $40 / month cost to do business means your product is a failure.

My two big hobbies are computer games, and digital audio production. I spend easy that on either one of them. Like digital audio, I not long ago bought BFD3. $350 right there, and it is nothing more than a digital drumkit. I'll never make a cent on it, it is just a toy to me, but damn is it fun. That's just one set of tools I've bought, there were more in the past, and I'm sure more to come.

Or gaming, I buy new games whenever the mood strikes me, get new hardware when I need it and then of course there's MMOs. When I played WoW that was $130 or so for the game and all the expansions, plus $15/month for like 3-4 years. A bargain in my book, I got a tremendous amount of entertainment out of it.

For all that, my hobbies are cheaper than some I know. One of my coworkers is in to cars. Fuck me can you spend a lot on that shit.

Hobbies cost money. Everything costs money. That's just life.

And as you said in terms of a business cost? That's chicken shit. $40/month is hardly on the radar of a small business. When my parents ran their small business (about 4 employees) their PHONES cost more than that. Never mind power, heating, rent, payroll, taxes, etc, etc, etc. Just having the requisite number of phone lines (two) cost more than $40/month. Such a minor cost it was just inconsequential.

As far as development costs go, that is absolutely rock-bottom cheap. Indy mobile developers don't pay 1.5k+ USD for a development-only unit with in-system debugging capability. They don't pay 1k+ per year, per seat for the tool suite. They don't pay 10k+ for external auditing and verification for major releases. It costs nothing to load unsigned apks on android. It costs nothing to load a binary from Xcode onto a target iOS device. The only thing that costs money is development equipment, which is less tha

Of all the explanations given so far, AC is the only one that has hit the crux of the matter. I don't agree with his assessment of runtime/tooling as there is middleware which will enable porting with relative ease between platforms. But it's absolutely true that if the garden owner tosses you out, your options are few in number, especially as a small developer and they can do so for any reason they want. If the platform owner changes the way part of their platform works and it completely breaks your applic

Everyone wants to make another Candy Crush or Flappy Birds game, and they'll be lucky to make minimum wage for the time they spend doing it. When I became a Mac developer in '84, and when I switched to NeXTSTEP in '89, both were moves decidedly out of the mainstream.

There's no shortage of unmet needs that can be addressed with an iOS app, but if you don't take the time to figure out what they are, then of course you'll fail.

What I got from the article is that the flood of people that call themselves Software Engineers when all they actually know how to do is configure 3rd party tools and at best write a few scripts to run stuff on the internet are finally being called out.

If so I think that's actually a good thing for restoring some value to the job description and to the currently low perceived value of skilled Engineers that actually can/do develop complex software from scratch.

I can design a shed and oversee or perform its construction. That does not make me an architect.
I can design and build a model car with a little spring-and-gear engine. That does not make me a mechanical engineer.
I can design and build a little circuit "piano" with pushbuttons and a 555 timer. That does not make me an electrical engineer.

I can lead a team to build proposals; reasonably accurately gauge task complexity; predict completion dates and manpower requirements; define deliverables and release criteria; control defect introduction through manual and automated unit and system tasting; build accurate development, maintenance, and operation documentation; and actually write, debug, and review efficient, best-practices-compliant code for custom software exceeding 100k LOC of new code or modifications per contract, not counting software packages integrated from other ISVs, capable of reliably processing millions of financial and medical transactions per day. Does that make me a software engineer?

Your cellphone is just a brick without software and firmware designed by thousands of developers with millions of hours of dev time, a significant portion of it in critical areas where flaws can result in physical damage, horrible performance or just plain crashing. Your car engine is controlled by a PCM driven by software, weighing in with probably multiple megabytes of code and lookup tables, designed to increase your fuel efficiency beyond what you could get with a mechanical system alone, where flaws will very likely cause serious mechanical and safety problems. The ridiculously convoluted system of wires, routers, switches, and servers that got this message from me to you is all dependent on software largely written by some team or other of developers in a controlled and systematic process and certainly not a million monkeys at random.

Software engineering is real. Many of them are even licensed as professional engineers now. Your conception of who they are, what they do, and their importance to your way of life appears to be flawed.

>> Software engineering is real. Many of them are even licensed as professional engineers now. Your conception of who they are, what they do, and their importance to your way of life appears to be flawed.

Where do you see anything in my comment where I am suggesting Software Engineering isn't real? My comment is actually promoting the high value of actual Software Engineering.

>> Your conception of who they are, what they do, and their importance to your way of life appears to be flawed.

>> Even then, it's laughable to compare software development to actual engineering. You do a disservice to those professionals.

No actually you're the one doing disservice to proffesional engineers. You're obviously one of those people that cluelessly usess the word "coding" to describ the entire job of what Software Engineers actually do.

You're obviously one of those people that cluelessly usess the word "coding" to describ the entire job of what Software Engineers actually do.

No, I'm obviously one of those people who think software engineering is complete bullshit. I think that the use of the term does a serious disservice to actual engineers. I think that "software engineering" is completely unrelated to actual engineering -- which should be perfectly obvious.

What "software renaissance"? The writer means the appcrap boom - millions of small bad programs, with a few good ones. Many, maybe most, "apps" could just as well be web pages.

The appcrap boom seems to be winding down. Developers realize that writing a quickie app has roughly the success percentage of starting a garage band. That's a good thing.

It's a great time to code, if you have a problem to solve. The tools are cheap if not free, the online resources are substantial, and there's vast amounts of cheap computing power available on every platform from wrist to data center. If you don't have a problem to solve, coding is sort of pointless.

Amen! I'm know there were some gems in the rough, and also some amazing apps that I never saw, but by-and-large the emphasis on shiny marketing and top tens over quality has overshadowed the market for a couple of years.

I have some genuine good ideas I'd like to throw at an app, but I'm looking at the market and I don't really want to touch it.

I'm looking at the market, but as a hobby not a profession. My profession is devops. Drop me some ideas and I'll see if I can code them, just for learning sake. I'm looking for challenging real-world problems to solve.

Everyone thinks this when their specific little niche goes away for whatever reason. Or even when it changes.

Opportunists who are just in it for easy money will bail out and find whatever the land rush is this month. The others will find a way. Remember when AAA gaming crushed all small budget games forever? Yeah.

(This can be 'bad' as well if you're one of those people who think income is the only thing that matters... some of those people could have done better financially elsewhere).

I read Matt's blog posting and I do have to say it sounds like his underlying issue is less of a quandary with a code renaissance being over and more of the drowning complexy and exhaustion involved with today's changing technology world from a code slingers perspective. Reading his blurb touching on a few profound things I find myself doing more and more as I get older in the tech industry: enjoying the simplicity of hacking shell or automative code in a text editor without launching an IDE, still having algorithmic thought processes and approaches, documenting less and thinking more. It sounds like his interests have just shifted and probably for the better. There's tons of shit that I look at on my shelves: projects started, topics heavily bookmarked in myriad of O'reilly books, half-finished circuit design on breadboards, code lying around here or there. It's just that: what was important now isn't and you're trying to just simplify the black hole of tech that was once an intriguing and mind-blowing ordeal.

The real worry is that his article is astonishingly short on numbers. In fact, he 1500 words and didn't include a single piece of data to indicate an end to a 'Software Renaissance." All he did was complain that he's tired of programming. That's it. Annoying.

Is that he can't seem to milk the mobile app gravy train, or at least the perceived gravy train. I know a surprising amount of people who thought "Gee great, I'll learn how to make mobile apps and then go off and make my own company and be RICH!" They are the reason why there's so much same shit in app stores.

However, turns out that most don't make any money. Producing the 4,593,928,192nd tower defense game just doesn't excite anyone, unless you happen to do a really good job in an unique way, and these peo

Yes, the viability of mobile as a platform for indie development is now less. But bottom-grade shovelware has been a problem since the dawn of consumer computing. (Anybody remember when PC shovelware was literally sold by the foot at K-Mart? i.e. "Six Feet of Games!" as a chain of CD-ROMs.) It has nothing whatsoever to do with the viability of coding as a profession. The vast majority of developers making a living always have been, and always will be, IT drones coding database applications. Mobile is just another platform for those folks...

The community/industry that these bloggers exist within (at least, the first of the 3, Finkler) isn't real software development anyways. When I read Finkler's blog post, the key phrases that stand out to me are these:

"I used to be really excited about JavaScript""I have 15 years of PHP under my belt""[...] Python. I don’t feel like I really grok the module system. I definitely don’t understand the class system.""Have you ever tried setting up something on AWS? There are a billion buttons and settings and new, invented words I don’t understand. I have no clue how any of that stuff works.""Did you know I used to be a 'designer?'" [of web apps and such]

What I read from the amalgamation of these statements is: This is one of those guys who jumped on the "I want to be a web designer" bandwagon many years ago when the field was hot and it was easy to churn out crap and make money at it. He learned (by cargo cult copypasta and/or Whatever for Dummies books?) to get by in PHP and Javascript over the years. But he never really understood what he was doing.

For one that actually studies (not in a school, I mean really in the real world) computer science and the art of programming, by the time you've learned a language or three the rest come very easily. Such a person can write useful production code in a new programming language on the first day byt the time they get to language number 4 or 5. That simple, core aspects of a sane language like Python baffle Finkler after 15 years of experience and serious use of at least two languages is very telling in this regard.

For one that works professionally in the computer/internet industry, understanding how systems and networks work is critical. Can you build a server from components (at least in theory? Done it a few times years ago with a home PC or something?)? Can you spec out a 100 (or 100,000) -system network of machines for a production cluster of some kind, and understand all the issues involved with everything from cabling to traffic loadbalancing to data migration and scaling issues and fault tolerance tradeoffs and blah blah blah? Could you, at least in theory, go build it all out yourself and be successful and having a fairly optimal and well-designed system at the end of it? Configure the routers and set up peering/transit agreements with the rest of the internet and get your traffic flowing smoothly to a global customer base?

People put *way* too much emphasis on the "Learn a Programming Language" part of being a developer. A real developer who's worth his salt must do much more than that. You must understand the whole stack you're operating on. Just to touch the highlights of that stack for a typical web app: The client's browser, the browser's OS, the machine that OS runs on, the ethernet interface on that machine, the DSL router at the user's home, the ISP network the traffic traverses and how it peers with everything else that peers with you, important side-issues in the network like low-level details of the DNS and how the ISP resolves and caches it, the routers, switches, cabling, and configuration of the network in your datacenter, that whole production cluster mentioned in the previous paragraph, Linux kernel issues on the appserver machines related to interrupt routing and TCP socket features, how your HTTP server works and how to debug deep issues in it, and how it connects to whatever engine or VM runs your application code, and how *that* is scaled locally to utilize the hardware efficiently, etc.

You want a guaranteed job as a desirable developer for decades, without being subject to industry whims and immigration politics? Learn to be someone for whom everything I've said above is trivial. Those are the badasses. If all you can say is "I can write some PHP code that seems to be functionally correct most of the time; the user inputs X and it outputs Y", you're not even 5% of the way there on actually understanding what you *need* to understand to do the job well.

Can you spec out a 100,000 -system network of machines for a production cluster of some kind, and understand all the issues involved with everything from cabling to traffic loadbalancing to data migration and scaling issues and fault tolerance tradeoffs and blah blah blah

I don't even know how to do this. Would you have a giant load-balancer in front that receives all web requests first, and passes divides it among various servers? What would you do when that load-balancer goes down?

You are absolutely right, people skim over the "stack knowledge" required to actually build a large-scale web-site/web-application all they think is: "All I need to know is HTML/CSS/Javascript/Our_Server-side_Language"? Many devs don't even understand the HTTP protocol properly, even if you do only front-end you NEED to know the basics of HTTP.

People rely too much on frameworks that abstract that knowledge away, but it always comes back to bite them in the ass. The abstraction always leak.

This is one of those guys who jumped on the "I want to be a web designer" bandwagon many years ago when the field was hot and it was easy to churn out crap and make money at it. He learned (by cargo cult copypasta and/or Whatever for Dummies books?) to get by in PHP and Javascript over the years. But he never really understood what he was doing.

So...

An Anonymous Coward responds to the OP article with an extended string of smug, elitist ad hominem, uses this to construct a strawman argument, and gets modded

I have overwhelmingly observed that the majority of computer users, do not want a truly free, democratic, autonomous, or self-empowering scenario, where their use of a computer is concerned.

With computer use, we now essentially have two groups of people. A minority of specialised, elitist programmers who write software for an almost completely unskilled, disinterested, and technophobic majority; and said technophobic majority themselves.

It seems that the proverbial "owner driver," of computers (a group among whom I gladly self-identify) are becoming a dying breed. I sat up all night last night, until 7 am this morning, compiling and re-compiling sources for my new NetBSD/amd64 vm. I have found use of that system tricky; and the current install is my third attempt. It is uneven in some areas, and there are many jagged edges. Nevertheless, I am determined, and while it has been somewhat frustrating, I have enjoyed the process; to the point where I have since only had six hours' sleep, in part due to my level of enthusiasm to get back into it.

People need to understand that maintaining their freedom requires vigilance, personal initiative and responsibility, and active defense. The psychopaths are tireless in their attempts to take it away from us; and more, to convince us that we should actually want them to take it away.

Learn to program yourself; but when I say this, I do not merely mean the new languages that are popular, which will win you approval from a manager. I mean the old languages, like C, FORTH, Tcl/Tk, shell, awk, m4, and LaTeX. Learn simple HTML, and use RMS' own web site [stallman.org] as a code example if you do not know how. Java might bring you money, but in my observation at least, it will not bring you joy.

Use the BSDs. Get comfortable with compiling something from source code. A lot of applications are designed much more smoothly than they used to be, so this is nowhere near as difficult as it once was. Get VMware Player, and install an Open or NetBSD guest. Use it to teach yourself the command line and shell scripting, and then realise that there is no reason for you to pay hundreds of dollars to Microsoft for Windows if you don't want to. You can buy a perfectly good computer from here [thinkpenguin.com], which has completely Free Software compatible hardware, and then run one of the BSDs natively, and dual boot it with Windows if you want. I don't hate Microsoft at all; I just think people should have that choice.

In addition to your use of Twitter, consider downloading XChat 2 [silverex.org] and discovering Internet Relay Chat. Many open source software projects have IRC channels, so if you do start using *BSD, that will also be a good way of getting help if you need it.

In addition to your use of Reddit, get Forte Agent [forteinc.com] and find out if your service provider maintains a Usenet server. If they don't, Forte sells Usenet access at $3/month for 20GB.

I know many of you want the new, shiny thing; but voluntary simplicity is becoming a major movement in other areas of life as well, and truthfully I really think it's time we brought it to computer use as well. I am certified as a Permaculture [permacultu...ciples.com] designer, and I truthfully view use of the BSDs as being as close as I can get to using a computer in a Permacultural manner. The word Permaculture is short for "permanent culture," and UNIX is timeless.

A very fine article reflecting on what indie developers such as myself have been feeling in recent times. This was my favorite excerpt:

"If you attend an iOS/Mac dev meetup and hang around long enough, you’ll start to hear the whispers and the nervous laughter. There are people making merry in the midst of plenty, but each of them occasionally steps away to the edge of the room, straining to listen over the music, trying to hear the barbarians at the gates. There’s something wrong with the world,

Why do we call it race top the bottom and we are sad when we are talking cost of software but we call it economies of scale when we buy hardware and we are happy ?

I think because economies of scale don't apply to software production. When designing some large system the overheads associated by having different teams working together increase (this is described well in The Mythical Man-Month: Essays on Software Engineering [wikipedia.org]). The same is true of physical systems, producing the design and prototype of a new airliner will be a large project - and if you got each engineer to design a small "one person" project (an electric bicycle, a better toaster, etc) the output in ter

He is complaining that there is little room for independence, that everything is becoming owned by large corporations who control everything through a combination of their power in the marketplace, use of the law.

I am struggling to understand how this is an issue with software development. The same is happening everywhere. Once he's been writing for a while, he'll discover that this is mostly owned by a few large corporations. The same is true with music, science, education and so on.

I want a GPS app that when I follow a route it does not "FREAK the hell OUT" when I pull off for gas or lunch. It also should pull the current weather radar and allow it to be superimposed over my GPS map so I can see if I am going to be driving into rain. We have ALL this information right now all the technology is there. Yet programmers are too damned lazy to add real features that people will want.. Instead we get crap like Flappy Bird and oh a new redesigned User Interface!

Everyone wants their own secret sauce to be kept hidden, and I want to beat them with a sack of doorknobs.

This is common for almost anything in technology, didn't this happen in the early 2000's with IT in general? Quite common. The good news is that good software developers are still needed and are paid well, but everyone in the market has to adjust. The independent developer probably will have to go back to working at IBM and still create their best work on the side. I'm grateful for the software explosion because it lead to a the development of huge communities of budding developers or people who just wa

Smartphone and tablet software were always destined to be a very small market. With the prevalence of social networking and simplified mass criticism of these truncated applications, it's extremely easy for a single superior application to completely a particular niche. Moreover, since the applications are so truncated and are not full-performance desktop applications, people do not feel as though they need to pay too much for an "app". Thus, subscription and micro-transaction models had to be introduced to

This pattern of ebb and flow in the tech world is nothing new. Every decade brings a computing novelty which invites revolutionaries who rethink the user experience. The universe seems to expand. All the developers get excited, jump on the bandwagon, and revel in the myriad possibilities -- for as long as the high lasts. Now the latest bandwagon has slowed and the Next Next Big Thing seems far far away...

1977 brought us the personal computer. 1984 was GUIs and WYSIWYG computing. 1988 was the network (

In your 20s you're fascinated by all the things you can do, and all of the tools that help you. The staggering possibilities are endless. You hate yard work. F that.In your 30s, you're aware and thankful that you're passion allows you to provide for your family. It takes long hours and lots of work, but gives your loved ones a lifestyle that you're proud of. The neighbor kid mows your lawn for $20 per week.

In your 40s you start to relive these things vicariously through the new crowd, eager and energet

Because fascinating games with depth don't look like pretty like a Michael Bay movie. Go play Dwarf Fortress or Minecraft for a while and wonder why you look up at 5 am wondering where the night went. The same problems have hit Hollywood; When big money is involved you get people who are following the money without any passion for the craft.