I had mixed reactions to Apple’s announcement of Swift. My first thought was, maybe two wrong’s will make a right? Objective C is the first wrong. Now Apple’s creating another closed language of its own and I’m struggling to see why they couldn’t have used one of a few other open, existing languages instead.
Part of my frustration stems from the fact that at one point Apple actively blocked developers from using languages like Lua in iOS apps. Now they’re releasing a language that looks very similar to Lua. I’m not sure if that’s ironic, or hypocritical, or maybe a combination. One thing seems apparent; Apple exercises strong control over their developers.
Time will tell if it was a good move. Keep your fingers crossed.
Microsoft seems less relevant than ever in the global software picture. While I’ve never been extremely fond of most of their products, competition in the marketplace is a great thing.
I recently purchased a Windows8 laptop from Asus and was pleasantly surprised. For all you Apple fanboys and fangirls, it’s basically and iPad with Windows apps on it. The graphical login is pretty cool and unique from what I can tell, the Asus HW seems solid, and the touchscreen experience is nice. Best of all, the control panel is somewhere new. We wouldn’t recognize an OS release from Redmond if it didn’t change the location of the Control Panel. 😉
Now this link, where Microsoft is gaming their way back into the hearts and minds of the next generation. They are incentivizing people to develop Windows8 apps. It’s going to take a lot more of this type of thing from what I can tell. None of my friends are excited to jump on the Windows App bandwagon like they were to make an iOS app… yet. I think it’s a smart move.
Emacs has a lot of power to open files. Once in the program, you can open multiple files with one operation, use environment variables, and other techniques not available in many other editors.
Here’s a list of cool things you can do:
- Use environment variables defined in the invoking shell. E.g. ‘$SDK_PATH/include/foo.h’
- Use a glob to open multiple files at once. E.g. ‘*_mux.h’ or for more fun ‘board/*/*_mux.h’
- Use Tramp to open files on remote systems. E.g. ‘user@host:filename’
- Use gtags to find a file to open. Gtags searches all file names for a pattern and either opens a “hit” or presents you with a list to choose from. E.g. gtags-find-file ‘bar’
Great article titled Reduce C-language coding errors with X macros outlines a way to use the C Preprocessor to create tidier tables. Highly recommended reading for those of you who like data-driven solutions.
How many times have you used a “table” in C code? Data-driven approaches are great, but often require you to manually keep table data in sync in multiple places in your code. It’s a common maintenance issue in “C”. This article describes ways to make the Preprocessor to do more of the work for you. The result is fewer bugs and reduced workload when you update your tables. The cost may be slightly lower readability for less experienced programmers.
Whether you chose to use this technique or not, you owe it to yourself to at least check it out.