First Aikido session
Just went to my first Aikido session. I have been quite out of shape for the last while, which definitely showed through as I was practicing. I’m currently very confused – we ran over around 8 or 10 moves and I did not feel like I truly got the hang of any of them, although I did make some good progress with a few of them. My homework for this Friday: learning to properly fall and get back up. Confusing but very fun so far. Looking forward to getting over the initial learning curve and feeling comfortable executing moves. For now though, lots and lots of simple falling exercises.
Soaking up job displacement from automation
A major problem with automation is that, even though in the long term it is beneficial to automate the work of factory workers (we can produce more goods/services for reduced cost), it’s not obvious how displaced workers will make a living afterwards. Retraining for a higher-skilled career is possible, but maybe not desirable for everybody.
One possibility governments/organizations could consider would be creating lots of make-work jobs [make-work is probably an incorrect term here], in the form of data entry. There are tons of valuable crowd-sourced projects that could use more people to enter data. These projects usually have low learning curves, and require little skill but a lot of labor. Also, they can be very beneficial to humanity, rather than a waste of money. For example, Old Weather, Openstreetmap, or Project Gutenburg. The goals of these projects are often beneficial to society, and could probably eat up a lot of labor, at least temporarily. Just a thought.
Slightly cleaner way of looping in Java
Just a quick note about a somewhat handy little trick I came across (I’m sure this is well-known elsewhere, figured I would write it down though).
Problem: You want to do something repeatedly to a list of objects.
[My] Normal solution: Put those objects into an array, or similar data structure, and loop through that structure. The thing that annoys me with this approach is creating an array that is only used in a single loop. For example:
String[] strings = {"Hello", "there", "this", "is", "an", "array"};
for (String s : strings) {
System.out.println(s);
}
As you can see, the strings array is created and only used for the loop. Rather than creating the strings array, an approach I like is the following:
for (String s : Arrays.asList("Hello", "there", "this", "is", "an", "array")) {
System.out.println(s);
}
Makes it a bit more clear that you’re only using the array to loop, rather than potentially using it later. Of course, this looks a bit unwieldy when the array in question is large, but for a small number of items the approach seems to work nicely, for me.
Nichomachaen ethics book 1 thoughts
A few thoughts below on book 1 of Nichomachaen ethics, read for a class recently.
————————————
Very interesting thoughts going on.
I like the idea, and though I can’t prove its validity, think that it’s a good idea that things which are ends in themselves are the most valuable. For example, all the arts and sciences. In the arts, usually pleasure and the hope to create something great are the only goals. In sciences, the goal to understand is the main goal. In both cases, the purposes of the fields are not to make money, to gain advantage over your fellow citizens. The goals are to witness beauty and to know. These ends have some nice secondary effects (pleasure from the arts, practical knowledge from the sciences), but pursued in their most pure form they are a couple things that can be used to justify humanity’s efforts and existence. It would be depressing to think that the best we can do is create art that pleases us and gain knowledge so as to crush foes on the battlefield, and feel more comfortable at home. Gaining knowledge and creating great art are things worth doing in themselves – they give intrinsic pleasure. When listening to music, I almost never have ulterior motives. I just want to hear some cool stuff, and in some cases, some of the best works created by humans.
The idea that the goal of political science is to create virtuous citizens is very interesting to me, and so far off of what seems to be the norm today. The present situation seems to be that politics is a useful tool for gaining personal wealth and fame. The idea that you would go into politics with a goal to improve your fellow citizens is very noble and actually worth pursuing. This gives some more reason that law as a field could be justified. The goal of the field is to improve the behavior of everyone in your constituency, and have them exhibit virtuous behavior that we can be proud of as a species. This is the goal of the field, but I am currently caught up on the methods used to achieve this goal. The methods seem to be seriously harming (financially) a person who commits an action that we consider bad. Would it not be better to have a system that rewarded those who do well? You could argue that the people doing well do not need the extra help, which is probably true. However, incentives for normal citizens to behave better could be very valuable. For a toy example, a $5 reward to everyone who helps a person with an injury across a street. This would lead to more people getting help they need, more people acting in a virtuous way, and a small reward for the person who helps the other. The reward would allow the helper to slightly improve their financial situation, which might be a small bump that Aristotle discusses. Spread out over a whole society, this could result in net improvements to citizen and personal behavior. I wonder if/how far this idea has been taken in law. It seems like all laws are geared towards providing reprisal against negatives that people enact, but never towards guaranteeing positives for people who act well. For example, since almost everyone considers education and knowledge valuable goals for people to seek, guarantee by law a $500 reward each year a person attends a school.
This setup seems to be widespread privately, but it’s not an institution backed governmentally. For example, fields of endeavor provide rewards (medals, praise) for those who are at the top of their field. We congratulate people who achieve good things. But lawfully, there does not seem to be a mechanism in place to promote good behavior, at least not to the same extent as we punish bad behavior.
Setting up compile mode for Emacs on Windows 7
After a little while of pulling my hair out while working with GNU Emacs (version 24) on Windows 7, I’m having a bit of luck getting compile mode working correctly.
Fixing my problem was a little simpler than I expected. When I want to compile a program in Emacs, I run M-x compile, which prompts me for a compilation command. Since I’m currently using make to build my projects, I just use the default prompt – ‘make -k’.
Now, the problem is that Windows does not recognize ‘make -k’ as a command, which causes compilation mode not to work. The solution? Relatively simple. Using customize, I found that the variable ‘compile-command’ controls what command is displayed in the compile prompt by default. So, with the help of customize, I just set the default command to the absolute path of make, which seems to work so far.
The previous prompt:
Compile command: make -k
The current prompt:
Compile command: c:/MinGW/msys/1.0/bin/make -k
A bit uglier, but so far it works for my purposes. Of course, this is an ugly way of doing things – it would be nice if Emacs knew to look in C:/MinGW/msys/1.0/bin/ for make, and I’m pretty sure that’s doable – probably something to do with PATH settings. Not sure how to do that though, currently.
Now onward to using make to manage C++ and LaTeX files in the same project!
Emacs default keybinding idea
I think it could be a good idea to, by default, bind some movement behaviors to the M-p and M-n keys. Currently, the default left and right cursor movement keys are bound to C-f/b for going forward or backward by character, and M-f/b to go forward/backward by word.
The up and down analog, C-p/n to go up/down a line, does not currently (that I know of) follow this same pattern, where Control is bound to a single unit of movement and Meta is bound to a larger semantic unit of movement. Some keys that I think would follow this pattern are C-v and M-v, for the equivalent of page up and page down. Binding these, or another similar set of keys, to M-p/n would follow the pattern of C-f/b and hopefully make the default key set a bit more intuitive.
C-v and M-v don’t follow the convention of C-A for movement in one direction, and C-B for movement in the other. Rather, they switch things up by binding Control to one direction and Meta to the other.
A potential problem here is that it looks like several other modes make use of M-p/n for browsing through the command history in shells.
Anyways, that’s all for now. I probably underestimate how much effort such a change would involve, but this might go a small ways towards making the default command set make more sense, and rely less on rote muscle memory.
Picking up Skills
Just another quick, probably meaningless for most people besides myself, reflection on some things.
I currently for some reason have an interest in accumulating a bunch of real-world, practical skills. The reason, oddly enough, is related to World of Warcraft. In WoW (which I haven’t played for a long time now), the player has the option to pick up several skills that, though not considered part of their primary profession (blacksmithing, jewelcrafting, etc), are more minor professions. The ones that I remember are fishing, first aid, and maybe something else. In the game, I knew some players who didn’t take the time to level up these skills, probably since they weren’t essential. As I played the game, I found quite a bit of value in these skills (especially first aid) since they allowed me to recover from damage faster, etc etc.
Anyways, what I’m getting at:
In real life, we don’t have limits on how many professions we can take up, so to speak. If I want to, and I put the time/effort into it, I can learn to cook, program, play an instrument, paint, write, or any number of other things. Rather than put all of my effort into mastering one or two domains, I think it would be very fun to have semi-mastery over a slew of other ones.
We only have so much time to live, but each skill that I learn and can use/enjoy daily adds to the coolness of life. For example, as a musician, there are many occasions where I can pick out things about music that others might not. This goes for every profession I’m sure.
A skill I’m currently very interested in learning is cooking. If I learn to cook, I can improve the quality of what I eat every day. I have an extra outlet of creativity, for making something with my hands that leaves my corner of the world in a better state than it previously was. Aside from extra personal pleasure, I will have a new topic of conversation I can discuss with people, and a new way I can show off my skills, hopefully bringing pleasure to others.
The main idea is that it would be interesting to view life and various skills the same way they’re viewed in MMOs. The more skills I can level up, the more options I have for interesting things to happen in my life. That’s about all for now.