So true, in pre-covid era I traveled with only a cabin luggage for two and had no space for my DSLR + lenses. So while my DSLR had better image quality, actually I enjoyed more taking photos, filtering, editing and sharing them on the spot with my iPhone.
I would never ever go back to shooting with my DSLR on holidays. I did it and it's just painful to carry around whole day. My iPhone does so much more than my DSLR for a fraction the space & weight of one of my lenses ...
I tried many different ways to structuring tasks. On paper and then with apps.
The problem with just using notes and having a gigantic list of things to do is that, the structure should relieve us and help make quick choices. I procrastinated for many years and I found that, the root cause was for me because everything was piling up. Different deadlines mixed in a list got me stuck on what to do next because there was so much things to do.
Using the app from this post or others could help because they are build this way but you could do the same thing on paper, structuring tasks from deadline ranges in mind help you to make faster choices and actually see what have been postponed and since when.
Between the family obligations, what you have to do for friends, administrative paperwork, things that pop in your mind and disappear 2 minutes later to come back in mind once it's too late, tasks or ideas for work, all of that have different context and may not be mixed in the same list, with the same deadline on even in the same app.
I found that everything work related like bugs and features etc goes into trello for example or a simple .txt file sometimes.
Personally I saw a clear improvement in the amount of things that I got done before using Bullet Journal method and after. I struggled for many years and I adapted it to make it my own and I rarely postpone things compared to before and it makes me feel less crappy as well ...
I found that the "notes" app for the iPhone is perfectly suited for what it is, to takes notes.
It surprise me that you don't even use the "reminder" iOS app for the checkmark built-in instead of writing "ok" when it's done.
After all the most important thing is finding a system that fit us and make us more productive and we might have different needs and ways we like to get organized (judging by the number of app for productivity in the App Store ...)
The part that stood out to me was getting stuck on what to do next!
When I worked for other people as a programmer I loved it when the product manager would queue up tickets for me and I could just knock them out within two weeks. I dont have that now.
In the game Dead Rising, it is open world-ish, in a mall, but all the tasks and side quests have time limits on them, really helping prioritize
> we might have different needs and ways we like to get organized (judging by the number of app for productivity in the App Store ...)
or it is an unsolved problem
or it is too easy of a problem to develop for. Isn't this every mobile app tutorial ever, swear I’ve seen them creep into system design prep too
I worked in a company that have been using a sql database for a really long time, like +20 years.
In the original design of the database, they though it would be a great idea to use negative ID for system use (on the same tables that are being used for user data). No foreign key whatsoever.
Forward 2018 when we have to build a system that have to work with this widedly used database (it's for a french ERP).
Because there is no index or foreign keys the queries are really slow which make our interface slow. Because the tables are accessible but belong to the ERP we cannot modify them because the ERP is under a licence so we don't have access to remodeling of the tables or how the data is processed before being saved in the database.
So to work around the problem we had to create duplicates of the tables with proper index and foreign keys and start a cron job every minute to read from the original tables and fill the datas into our tables ...
Mind boggling .. The software is being sold to a lot of companies which is kind of sad.
Just curious: was there some problem caused by the negativity of the IDs? Or, was the problem mostly having to do with the lack of indexes? Not sure I understand the problem.
The problem for me was that, they used negative ID to store unrelated data from the table intent. It's like having a kind of "hidden world" within your tables.
There is a lot of topics discussing the use of negative ID when the ID store the same datas all the way from negative to positive.
But storing unrelated datas - data reserved to the system for the developper - on the negative IDs of table ... to "save space" ?
That for me is bad database design and a problem.
Yeah until it comes back and bites you in the a$$. Even toy projects take longer than supposed because we devs think it's a one time thing only. My experience is most of the time software lasts much longer than expected.
Not for customers. What we developers call quality is usually readability and maintainability. But that doesn't affect customers one bit if the software solves the problem it is supposed to.
Of course it affects price and development speed which may in the long run sink the company in the marketplace, like what happend to e.g. QuarkXPress.
Whatever happened to QuarkXPress? I remember seeing it all over the place and it was the de facto standard in desktop publishing for quite awhile in the 90s, but then it just sorta... disappeared. Do you know of anywhere I could find a good technically-aimed history or breakdown of what went wrong?
Not sure - rumor is they outsourced all development to India to save money. But the program became very crash-pone, and they became extremely slow to add new features. And then InDesign came on the market, iterated quickly, and ate Quarks lunch.
Like all industries we can't just stay still.
Curiosity and creativity are important. The "olives" are a fruit of some sort of older technology that has matured. Maybe this technology was the "shiny new some some time back then"
Some people try to fix the the shortcommings from yesterday's technology with their own ideas and view of things and nobody can prevents this. This is just basic, human creativity at work.
Maybe what's important is not making people belive that yesterday's technology is obsolete and should be burried or abandoned.
The shiny new thing is just an other tool in the toolbox and it's not because I created a new shape of screw that all the other screws are worthless. There is still plenty of screws all over the world that need to be unscrewed, we need those tools to do that, people to know how to work with them and some of these screws still need to be made. Maybe people don't talk about these screws as much ? They don't make the news anymore because they've been there for so long ?
Maybe the point here is that social media thrives on the shiny new thing, it's the core concept of it. An old news paper is worthless, no one ever sold an older news paper. So they need to grab some attention to live and the shiny new thing is a way to accomplish that.
But it's not because there is lots of articles about all those new frameworks that the older ones are worthless. We need both. Maybe for some projects we will not choose an architecture based on 10 years old concepts and frameworks and some other projects need stability and a whole tested and stable toolchain and documentation for the years to come.
What kind of work do you want to accomplish ? Small projects where you work alone ? Where you just serve a few people ?
Or big projects with a huge infrastructure that needs to deliver to millions with great economic impact ?
I bet you don't use a hammer only when you want to build kitchen furniture. And then tools that are needed in a factory that build kitchen furniture are not the same that the ones that needs to be used for home. They need a whole supply toolchain, some testing & quality checking. Whereas the worksman in his own workshop is going to have less tools ...
We need all kinds of software and technology, maybe what's hard is to be able to identify the right ones and defining precisely what we want and where we think we will go. People are always going to want to try to use the shiny new thing. We all need novelty, enhancing the shortcommings of your current tools.
The reality is that there is very little actual innovation happening in programming. Most of the ideas in use today have been discovered decades ago. The big reason for churn is that people don't bother learning about what's been done before, and keep reinventing the wheel.
You don't see in other disciplines such as physics or chemistry where people spend years learning about existing research before actually starting to contribute.
With programming the barrier to starting to write code is much lower than to actually learning the background research. People don't bother looking at what's been done already, and just start "inventing" things.
More often than not this result in half baked ideas because the authors of projects don't really think about the full scope of the problem. Then once the project starts hitting limits in practice, people start kludging things on top of it, and eventually it becomes unwieldy to use. Then somebody comes by and does the same thing simplistically again, and the cycle repeats. Nothing new is learned in this process, and you get churn for the sake of churn.
> Most of the ideas in use today have been discovered decades ago. The big reason for churn is that people don't bother learning about what's been done before, and keep reinventing the wheel.
But on the other side of the coin, do you really want to be locked into a decades-old solution to a "solved problem" forever? Or are there still improvements that can be made to reduce friction and human error?
"Machine/human readable data exchange format? Yeah, that's a solved problem - we use XML for that. What's that? You want to reinvent the wheel? JavaScript Object Notation, are you insane? Didn't you bother seeing which exchange formats are already out there? XML can already do everything JSON can do and more! Plus, JavaScript is the exact opposite of what we value here, get that crap out of my face; like I said, XML is the one true solution to data exchange and forever will be."
XML and JSON are both examples of the problem actually. S-expressions have existed since the 50s, and they solve all the same problems with a much saner syntax. In fact, if Mozilla marketing execs didn't insist on Java style syntax for Js, and it kept Scheme style syntax we wouldn't even need HTML and CSS today. We'd have a single syntax that would cleanly express code, styling, and layout.
Your contrived example falls flat because JSON is flat out better for most use-cases and anyone having a discussion about it will probably fit into those use-cases.
People don't discuss solutions in a vacuum. Ideally they'd think about what the potential fallbacks of using XML alternatives are before jumping into a new tech. Which they will, unless they're really really new
> Your contrived example falls flat because JSON is flat out better for most use-cases and anyone having a discussion about it will probably fit into those use-cases.
Easy to say with hindsight now that it is massively popular and has a huge ecosystem of parsers for every conceivable language. At the time it was invented though, it was yet another data exchange format and I'm sure there were a lot of grey beards pooh-poohing it.
Back in the day, XML was almost universally hated by the people you describe as "greybeards", mostly because it was a convoluted "one size fits all" approach, hijacked by business, that ate bandwidth for overhead with none of it's promised benefits actually materializing (because everyone created their own, quasi-proprietary XML Scheme).
I would say JSON is a little bit better than XML in some areas but also worse in a some. XML could easily have been extended with a few attributes. there was no real need for doing something completely different.
I totally agree. But how do you balance this with the need for looking good on the job market? If you want to stay employable you are almost forced to participate in this craziness.
+1 where I live the jobs with the highest pay grade are for some fancy frameworks. If I've been doing PHP for 5 years on an 10yo framework in a company that didn't feel the need to upgrade to anything. The day I want to find an other job I'm going to be confronted with opportunities that required mastering the latest technologies and I won't find something within my pay range because of this. That is the reality where I live
Futhermore, how am I supposed to learn and practice all this new stuff when my company doesn't allow time to learn anything ? Is home projects enough to fill professionnal requirements for mastering a technology ?
It's not easy to stay away
I used to do that. But right now I am in a high pressure job that sucks up a lot of energy but I don't learn anything new. When I come home these days the last thing I want to do is to spend more time on the computer. I need to do something active or just sleep to maintain my health.
I've been working with Clojure for the past decade, and haven't had to deal with any of the craziness.
The job market is smaller, but so is the pool of developers. Companies tend to be more flexible because of that and are often open to remote work. I'd much rather work in a sane niche market than deal with the mainstream churn.
Isn't it fair to say, though, that you're not the average Clojure dev? I mean you have a book and a web framework to your name so that puts you way ahead of the pack. As an average Clojure dev I've found it very difficult to find work.
That's just a result of me having been working with the same tech for a long time. When I was starting out with Clojure it was a lot more niche than it is now, and finding jobs was much harder. The whole reason I published a book was due to lack of beginner resources being available. So I don't think there's anything special about me, it's just that I was stubborn about wanting to work with Clojure and didn't get dissuaded until I made that a reality.
We have local Clojure meetup in town, and when I first started going there pretty much everybody was using Clojure as a hobby. Today, we have a bunch of companies using it in production, and all of them are actively hiring. The last three coop students I had all ended up getting Clojure jobs. I imagine this varies based on where you live of course, but another option is to simply introduce Clojure at a place that's using something else. That's where Clojure jobs come from in the first place at the end of the day.
It's nice to have found a niche you like. I thought I had a found one with the medical device I work on but it turns out the work is rather unpleasant and the hiring situation is not great either.
Sadly I agree as well. Instead of mastering the tools we have we need to make half arsed versions of everything because we don't have a mastery of this years trend.