Honestly it's amazing how fresh these elements have stayed over the years. The rag dolls are so exaggerated it's really funny. It was like an early version of Goat Simulator.
I'm not an expert on the topic, but the way from a x86/x64 disassembly to an ARM binary is very long. The identification of segments is not 100% accurate, manual corrections will be required, addresses have to updated etc. I'd say fully automatic translation is not really feasible, but I expect to be contradicted :)
Yep, I'm surprised how quickly we phase out perfectly healthy machines, just because the software quality keeps getting lower and lower. It's not good for the climate, among other things. I appreciate how zealous the Notepad++ developers are about performance and efficiency.
Quite possible. In the article I mention that a Lithuanian hacker by the name of notaz statically recompiled StarCraft, Diablo 1 & 2. But it's a huge effort, of course. Even better would be to (partially) decompile to, say, C for better performance.
Imagine being able to play these games on ARM without emulation? This is also one of my goals, but as stated in the article, the effort to port them without source code is substantial.
This is exactly why I prefer Notepad++, it's resource efficient, it doesn't matter where you run it on. Even on the Raspberry Pi the performance is quite decent.
It was very frustrating at times, I cannot lie... It's my favorite editor though, so I just HAD to do it. Now I have to compile all of the plugins I use.
Haha, good one, I'm completely sharing that perspective. However, I sometimes buy largish Dunkin' Donuts boxes for my colleagues or for our clients and throw the receipt away. One time a manager wanted to pay me back, because it was clearly a business expense and reimbursable. I argued "heck, I don't care, people have good times, done". "NONONONO, next time make sure you get the receipt!!!"
Random things like displaying text you mean? I don't think this has changed that much since the Netscape days. It would be OK if the site needs scripting for some legitimate task to compute a nicer layout, play some animation, interact with social networks, process payments etc. Detect NoScript, dump the text of the article, show "You are viewing a reduced version, because of your script blocker", done.
I'm more conservative since I don't really see how the lack of scripting prevents them from dumping the content and it works OK normally, but here it's just an empty page with the said "error" message and a single <script> element downloading a JS file which is quite unacceptable. This is ridiculous, really.
I just love this huge bluish background with the text "You need to enable JavaScript to run this app.". I guess in 2018 I need scripting even to display some text and images.
Yes, I can relate to that. Jira is extremely slow and counter intuitive to use. So much that I believe it will create friction within an organization, because people will try to avoid using it. Weird filtering system, weird keyboard shortcuts, long loading times for everything. I really don't understand why performance is not the top priority @Atlassian. A very bad example of workmanship and I don't care how well it integrates with XYZ.
Hey, thank you for contributing to one of my favorite pieces of software :) The Fish shell is my primary choice, because it's so intuitive and easy to use. I never encountered a situation where the Fish shell behaved contrary to my expectations. I do wish there was a native Windows version, because that's where I spend 50% of my digital time, but only because it's so great.
I'm always glad when someone calls and I always call people instead of typing down thoughts. Even better than calling is meeting someone IRL, but of course that's not always feasible. Then I usually begin by telling him or her how grateful I am that somebody is choosing the direct way over some form of texting and there are, sadly, far too many. Like your dad, I wouldn't buy anything not specially designed for transmitting voice in an analogue fashion. Too few options there, recently... Most of the people I communicate with are aware of this, thank goodness, but it's always hard to tell new acquaintances that I don't use Viber, Whatsapp, Facebook and even reluctant to use SMS.
Well, because it's a mechanism the user is not controlling and is potentially problematic if someone makes the plugin download an update package from another source. I'm a bit paranoid, but I would prefer all functionality to be within the plugin itself. There's a plugin manager for Notepad++ which notifies the user of plugin updates.
I must voice concerns regarding this product. Just took a look at the Notepad++ plugin (https://github.com/wakatime/notepadpp-wakatime), because this is something I know a lot about. To begin with, it sends filenames to the mother ship instead of just the programming language. I would consider filenames to be sensitive information giving a very good idea of the project you are working on...
Also problematic is the fact that plugin is doing almost nothing; instead it downloads Python from the official place, downloads a whole Python project (called CLI) and executes it. Also, there's an automatic update mechanism in place which updates the CLI every now and then. It sounds as a recipe for a disaster waiting to happen.
Edit:
I guess what I've said applies to every software with an auto-update function and that's of course quite the norm today. As ztratar pointed out, the usage of SSL provides a decent level of security. I still would wish for the user to be notified in some fashion. Also, from what I understand, the WakaTime CLI seems to have an option to hide filenames, it's just not changeable from the Notepad++ plugin.
>Wait, what was the alternative? No floats? How the heck would people calculate things with only integers?
I find working with fixed-point numbers actually much easier than (hardware) floats, because of the even distribution. Also note that some libraries like OpenGL ES provide fixed-point types for extra performance. I do believe IEEE 754 is next to impossible to use for any practical application, unless all your values are between -1 and 1. It's truly a horrible standard.
Plugin's author here. While NppEventExec is certainly nothing special, it allows me to optimize my workflow significantly and may do so for you as well. I use it for instance to format source files before saving them and to quickly compile small projects once a source file is saved. Regarding my choice of C, well, I love C; it's a language which has survived all tests of time and which gives me full control. Also, as a zealous Notepad++ user, I respect the loading times, the smooth performance and the small memory footprint that my fellow Notepad++ users enjoy.
My main goal has been to avoid undefined behavior and security vulnerabilities. People would deem this impossible with C for practical purposes, but I think it's just a matter of responsibility, discipline and devotion. I've done extensive error checking, taken all compiler warnings seriously and employed security recommendations like the usage of goto chains. There's of course still a lot of room for improvement and certainly numerous bugs, but one small step at a time...
I'm moving from full-stack web development to system, application, low-level or embedded programming of some mission criticality. If you have a vacancy and see potential for a good cooperation, please drop me a line, my e-mail address is on my Github. I'm based in Berlin, Germany and willing to relocate across continents.
If any discussion arises I will be available in the European afternoon to address your questions.
Very much this! As a person who recently completed a medium-sized C project I can say the author's work is simply IMPRESSIVE on so many levels. It's true that there's no error checking and there's undefined behavior, but please note that the author is rather young and this project is in a usable state. All of these issues can be added/fixed with time as the author learns more about the language and programming in general. The author got good experience and this is what counts here. Clearly, the author is willing to get some practical coding experience next to the theoretical foundations he learns about at the university. I can only support that and sadly I didn't have this mindset while studying CS.
The way I see it, the author had an idea, sat down, put it to practice and implemented a functional prototype which can easily be expanded upon. This is probably how all these arcane *nix tools we use today came into existence. I don't imagine anyone wondering "should I use a rope or something more efficient, let me just spend 2 months trying out different structures" while coding one of the first text editors. Also, what the author did would not be simple to achieve in ANY language, because no language out there has a ProduceVimLikeEditorWithMinimalFeatures() function.
Thanks for taking your time to analyze the binary. I know we are not constrained by expensive hard drives these days, but this sure is some wasted space.