The review times have gotten better and overall the process of going from "New Project..." to "Ready for Sale" is much smoother than it was 10 years ago when I made my first iPhone OS app.
But the market is pretty hard to get into. You can add real value with a well-executed unique idea (like we did with Bubble Maker, look it up) but unless you're a big name or an established player, there just seems to be no chance of getting your foot in the door.
I assume the idea is to be able to reuse libraries like Box2d etc where it's mostly concrete code, and that other libraries where it's mostly templates kind of just have to be rewritten.
Imgur has developed a very active community and they have a MINIMUM of $20,000 per "promoted post" (ad). Considering how often I see new ads on there (at least once a month), I'd say they've finally figured out how to actually monetize an img hosting site. Whether they can avoid throwing away all that money on inefficiency and poor management is another story though. If anyone here knows how to scale an imgur clone properly, and can do it as a one or two person team, you'd probably have an amazing startup right there.
Yep. Similar to how we used to write the high performance code in ASM and the business logic in C. Now we write the high performance code in C (or equiv. low-level language) and the high performance code in a slow but expressive dynamic language. My favorite is writing high-level code in some kind of Lisp (previously Clojure, lately Racket) because REPL-driven development makes it incredibly fast to iterate and experiment and then cement/polish it into production code all while having the same state in memory.
In my experience, this kind of minimalism is great on paper, but in practice if you throw out at least some of that complexity, you also have to rewrite so many things yourself. Sometimes that's a good thing but some features are too complex to get right every time and it's worth reusing a good quality version of them, which unfortunately sometimes requires using a bunch of questionably designed build/dev tools.
> "I can't image a better time to EVER have lived."
I dunno. The other day, my wife and our 5 children and I were all having a relaxing evening together as a family in the living room, and something my 4 year old daughter said accidentally set off Siri who said "sorry I didn't catch that" and my daughter said "never mind" and we all had a good laugh. Then my daughter said "I love you, Siri." My heart sank. I'm probably not giving enough context to explain it, but she seemed to genuinely think Siri was a real (and neglected) person in the family.
Most of our local friends work at Walmart, because there's honestly not much other choice for them.
Our economy is so broken that the only people who win are people who know how to abuse the system, and who have designed the system to be easier to abuse and harder to survive by honest hard work.
I read once that Walmart uses their resources to take advantage of current (broken) laws to allow them to keep paying pennies for hard work, and forcing the government to pay the rest of a living wage. (Most of our friends are also receiving at least one or two forms of public aid.) I wouldn't be surprised if they also use their resources to "influence" laws to ensure that it stays this way.
But at what cost!? Every time I write Haskell code it reads like a mathematical proof that's beyond my ability to comprehend! Whereas my Ruby, Python, and Clojure programs read like a poem I might have written in third grade.
[EDIT] I suggest looking at your situation from this perspective: $100,000 is a lot of money and can last you and your family over a year in certain places.
I've been bitten before trying to use (if (some? (thing))) instead of just (if (thing)) for the sake of readability, because as (defn thing ...) evolved, it ended up returning a function call that sometimes returned false instead of just nil, so the conditions were sometimes inverting in subtle ways and it was really hard to track down why.
Honest question: what strengths does Go have over D? I became very proficient at Go several years ago, and was reading about D for hours and hours last night, and it looks like D is overall a much better language.
That kind of feels like cheating though. I mean, the complicated part of a continuation is that it restores the same context and state that the app had right before the plunge. But Haskell inherently doesn't have "floating" state, it's all self-contained within each parameter. So in Haskell it's more or less a fancy goto-statement.
Back when I wanted to write a Lisp interpreter, I thought Haskell would be one of the best languages for it because of its type system. But looking at this code, although I'm sure it's probably very good, it just doesn't strike me as very intuitive or readable. Is this something you get used to over time, like reading Lisp code? Or is it just inherently harder for non-mathematically-minded people to read?
I've found it pretty hard to just say "I like this song, show me more like it" and then to be able to listen to each one, and conveniently add ones I like to one of a small set of playlists.
Instead, I have to right-click a song and choose "play a radio-station-thingy based on this song" (which usually is a stretch anyway and most of them are nothing like what I'm looking for), and for the few songs I do want to keep, I have to right-click them, find the "add to playlist menu", find the submenu item for the right playlist and click that, and try to re-find my place again in the song queue to start this all over again with the next song.
Maybe it's because I'm used to 90s software still and so I just don't know where the right buttons are, and I'm just clicking the wrong things, who knows.
I don't remember where I read it, but one of the big reasons was that Imperial units are much easier to divide in ways that make a lot of sense in practical usage, whereas Metric is designed to make conversions easier for doing science, which puts practical usage on a lower priority. But take this with a grain of salt.
That's something I've done time and time again, and seen others do too. It's easy to look at something and think you understand it well enough to know how it can be improved. But when you find out the rationale and reasons it is the way it is, it's kind of humbling. Like how it surprised me to learn that there's a lot of valid, practical reasons to use the Imperial measurement system over Metric.
Personally I'm both a nomad and a hoarder. About once a year I'll go on a week long spree finding new music and creating new playlists. The rest of the year I just listen to all those playlists plus my old ones. Neither Apple Music nor Spotify have a workflow specifically designed for this. Am I that unusual?
I'd say they are "succeeding" in the sense that they continue to make money. Whether they're truly successful in the sense of providing proper value to their customers to justify that money, and treating their programmers right, is another story, and I've seen enough cases where they don't do either of these, while the executives make plenty of money to live comfortably for years by exploiting both customers and their own programmers.
Sometimes the right test is just occasional manual testing. And sometimes it's even just the fact that no users have complained about something obvious not being completely wrong.
I think a bigger epidemic is we're putting too much emphasis on "do this" and "do that" and "if you don't do this then you're a terrible programmer". While that sometimes may be true, much more importantly is to have competent, properly trained professionals, who can reason and think critically about what they're doing, and who have a few years of experience doing this under their belt. Just like other skilled trades, there's a certain kind of knowledge that you can't just explain or distill into a set of rules, you have to just know it. And I see that in the first example in this article, where the junior programmer is writing terrible tests because he just doesn't know why they're bad tests (yet).
I've felt the same way all too often in the past. In my experience, gratitude is the best cure. Being grateful for hot showers, for tasty food, for a good night's sleep, for anything good or enjoyable really, these have really helped me to change my perspective so that I do enjoy life, I recommend trying it to anyone feeling that way.