If you are giving your ball a collide method, or creating a CollisionPolicy, then you are probably doing it wrong. Therein lies a huge part of the problem of OO design: modelling is difficult, and lots of us get it wrong.
Just because you use FP or some other paradigm does not automatically mean you will get it right. I have seen poorly modelled solutions written in many different languages. I have also seen elegant solutions implemented in a variety of forms as well.
I think that having some depth of experience in a language, as well as a solid grasp of the problem, and perhaps some anal retentive tendencies (i.e. an innate desire to keep things very structured and consistent), can go a long way to solving problems elegantly :-)
Hey very cool. Not exactly related, but if you are interested, I have an adventure journalling side-project I am working on. I would love to have more techie travel/adventure loving folks on board... https://outsideways.com/
I have high hopes for Electron. In some regards, it feels like the new Java. I remember in the early days, using Eclipse and thinking how bad the performance was, but appreciated all the functionality it brought, despite being written in Java. Now days, I am in love with the JetBrains IDEs, and don't think twice about the fact they are Java. The performance is great, and they look good (IMHO). I suspect that in the future we will feel the same way about Electron apps.
I would be willing to bet that once a country goes cash-free that a second underground hard currency of some type will develop. Being able to barter/exchange without being tracked, or without being in the "system" has too many upsides for it not to exist. Maybe bottle caps? :-)
Here's an idea: how about charging more for European users to access your site. If it is a cost issue, how about reflect that cost in the price of your service. So, if your web app is free for North American users, put it behind a paywall for Europeans. It's not ideal, but maybe if enough sites/services did that, it would help reflect the reality of the situation. Consider it a European service tax.
I live in Montreal and had an initial interview with the Montreal office several months ago. I was looking for flexible work, specifically the ability to work remotely. I was told it was not really an option, and that I would be required to work in the office most of the time. As a result, it didn't work out for me. I see that you are listing remote work as a possibility. Has your policy changed in that regard?
I would say that it depends on your project. I recently launched my personal side project (https://outsideways.com/) and it took me about 9 months to get my first 100 (soft launch with little marketing, I was busy working on features), and my next 30 in the 10th month. Now I am getting 2 - 3 sign-ups a day (In my case, there will be a seasonal aspect to new sign-ups). I am doing a number of things to promote it:
- Released a multi-week YouTube video series on a related topic of interest, with a plug for my site at the beginning of each video.
- I regularly participate in Facebook groups related to the niche and occasionally plug it there.
- I am babysitting my most active users so that their experience is really good, learning their pain points, and responding quickly to their needs. They are in turn starting to spread the word on their own.
- Talking to friends and family who I think might be interested.
- Personally welcoming everyone who joins to try to make the experience a little more personal.
- Being active in social media (Instagram, Twitter, Facebook), posting interesting and relevant content that would attract the kind of users I am looking for. Following users who I think might be interested. Participating in their content too (i.e. likes, comments, etc.)
For me, it is not just what the MacBook Pro can do now, but what it will be able to do in three or four years. When I buy my computers, I am looking for something that will last several years. That means having the memory and storage capacity for the future, not just what I need today. Apple is making these things like iPhones, and probably hoping that we will buy a new one every two years.
I have older MacBook Pros that I upgraded the RAM, and upgraded the storage (both capacity and speed), and they still work strong. When I am done with them, I pass them down to my kids.
I am a Python/Django developer. I am not a WordPress fan, but I am not above recommending it to people, provided that they understand what they are getting into. This is what I generally tell people...
- WordPress as an 90/10 solution: You can get 90% of what you want for 10% of the effort, and you don't have to be a programmer to get most of the way. It is that last 10% that will suck 90% of your time, and it won't be pretty. In fact, it will probably be terrible and (as a developer) you will feel very icky about yourself when it is done. If you can be satisfied with getting close-to-but-not-quite what you want, then you will probably be happy with WordPress. If you are very particular about that last 10%, then you will probably be in for a world of pain. It may end-up costing just as much (or sometimes even be cheaper) to go with a custom/Django solution in those cases.
- WordPress works well as a basic publishing platform. That was what it was designed for, and that is it's sweet spot. It isn't however ideally suited to application development. The further you head down the path of trying to make WordPress behave outside of the standard content publishing paradigm, the more painful and difficult it will become.
- You absolutely have to stay on top of security and updates. If you aren't willing to spend that time, then you will end-up paying for all the time you saved when you set things up by having to deal with security fallout.
I recognize the appeal and place that WordPress has in the marketplace. I also recognize that people that need it are not my target clients. I have learned that my sweet spot for development is to fill the niche where WordPress isn't a great option.
When I am not doing software development, I like spending time hiking and backpacking in the outdoors. In 2014 my family and I successfully thru-hiked the Appalachian Trail. To fund the project we produced a video series about the hike, which we sold on a subscription basis. We launched a Kickstarter project to pre-sell a bunch of subscriptions (https://www.kickstarter.com/projects/dtougas/beyond-our-boun...). We now have the video series for sale on Vimeo (https://vimeo.com/ondemand/boundaries) which sells a little bit of something every month (not a lot).
My next side project has been to create a social/micro-blogging platform for outdoor enthusiasts (https://outsideways.com/). It currently isn't generating any revenue (it just launched in May), but I have big plans for it if/when it gets a core group of users contributing regularly.
Thanks for the feedback! More detailed locations and maps are in the plan, as I would like to have that kind of stuff as well. For now all I have implemented is basic place names.
There are a lot of niche outdoor sites. My experience is that people who like the outdoors, like a lot of different places/activities. Why not have a site that reflects that?
Just because you use FP or some other paradigm does not automatically mean you will get it right. I have seen poorly modelled solutions written in many different languages. I have also seen elegant solutions implemented in a variety of forms as well.
I think that having some depth of experience in a language, as well as a solid grasp of the problem, and perhaps some anal retentive tendencies (i.e. an innate desire to keep things very structured and consistent), can go a long way to solving problems elegantly :-)