Categories
Computers and IT

Core of Programming Languages

Gerald Weinberg is a Charter Member of the Computing Hall of Fame. He recently shared some thoughts to the question, “What were the problems Dennis Ritchie and Bjarne Stroustrup were trying to solve which led them to develop C and C++, respectively?” Based on my reading, his sense of languages in terms of the question are as follows:

  1. Programming languages often come into existence as an extension of the style of the person(s) who made it.
  2. Programming languages does not determine speed of the program.
  3. Speed comes from how the code itself is designed and the capabilities of the compilers that convert that code into the actual program binary.

I’ll add a 4th observation. Speed, reliability, and other qualities also are a function of not your code design or the quality and capability of your compiler. It also has to do with the third-party code libraries at your disposal. Now there are 3 factors: Code design, compiler capability, and third-party code libraries. C++ and C tend to hold sway in certain types of programs due to the highly developed nature of compilers and libraries associated with those languages.

Categories
Computers and IT

RSS Reader – 12/29/2017 – Final Functionality

The final piece of functionality for the RSS reader is in place. New feeds can be added to the data file that supports the program. New RSS feed name / web address combinations are added to the data file when the Update button is clicked. In this version, the new feed/rss address location doesn’t take effect until the program is re-launched. A future version will update the bottom bar of buttons upon acceptance of the added feed name/address combination. Although it is late in coming, better late than never. Due to general scheduling issues and other matters, it has taken a year and 2 months to reach this point with essentially 2 – 3 months of work spread across 14 months. However, the time has been useful as it gave me an chance to think more about desktop / mobile convergence, 4K screens (and higher resolutions), and whether or not to continue the effort. The answer to that latter concern is yes. The reasons for pursuing this project hasn’t changed since the time I started the quest in Sept./Oct. 2012 and wrote about in Feb. 2013. More to come in 2018.

Categories
Computers and IT

RSS Reader – 12/25/2017

The RSS Reader is 98% complete. The main goal of pulling in a news feed and showing it on-screen is finished.

Categories
Computers and IT

RSS Reader C++ User Interface – 12/22/2017 – Overall Layout

The following briefly covers a visual layout and C++ code structure for an RSS Reader. The visual layout has an eye towards a format useful for both desktop and mobile because who wants to make the same UI twice. The buttons will be big and clickable on a desktop and big and tappable on a mobile device. All essential functionality is designed to fit on 1 screen with no pop-ups or screen switching required. That requires a trade-off in which you have to keep away from nice to have features that would impose on the design.

Categories
Computers and IT

Master Programming Advice for the Ages

David Warman has been writing code since 1967. With 50 years of experience, he has advice for creating superior software in terms of performance and reliability. The advice he presents in response to a question on Quora and his answer covers intuitive concepts oft washed over by alternative, mainstream counsel on software development technique. The question was, “What are some advanced concepts in programming that most average programmers have never heard of?” to which his reply can be summed up as consider the machine and consistent instruction execution (input into output) within a fixed time window.

Categories
Computers and IT

Keylogger in Windows Drivers

Software drivers are the glue between the physical machine and the operating system. Unfortunately, due to the closed, proprietary nature of software drivers for Windows, spyware can easily exist in them. Given this, it makes sense to either get a Mac or purge Windows from a laptop an replace with either Linux, PC-BSD, or Illumos.

Categories
Computers and IT

Insecure Anti-malware

The thinking was that Microsoft knew their own operating system so well that they had the best chance of protecting it. Turns out, that is not 100% guaranteed.

Categories
Computers and IT

RSS Reader 12/2/2017 main()

The reader user interface code in the main method now appears as follows. The remaining, reorganized, C++ code can be found under the gautier_system github repository under commits dated between 10am – 12pm EST 12/2/2017. Space is now cleared in the main method for both rss feed data processing to appear alongside UI expression without either cluttering the other.

Categories
Computers and IT

RSS Reader Sections Auto-Size

The RSS Reader sections now auto-size. I decided not to use too much of the FLTK infrastructure. A Fl_Pack exists in FLTK that does much of what I’ve done in this release but the Fl_Pack does it better. Then why do custom auto-size? The reason is doing custom auto-size is one of the ways to validate that you have a solid understanding of the geometric dimensions provided by the graphics engine. I learned that I had read the FLTK documentation incorrectly and misunderstood the values I received from Fl:w() and Fl:h(). I spent a solid 2 or 3 days trying to work out some sizing issues due to the incorrect way I read the documentation.

Categories
Computers and IT

Linux Hardware Vendors Lead the Way in Doubling Down on Security

When I learned that System76 Will Disable Intel Management Engine On Its Linux Laptops that reminded me of a similar story about the Purism laptops. This kind of update is not in the Windows ecosystem nor has been on the radar in said environment. However, it is plausible to dual-boot or live boot from USB to a Linux distribution and perform the removal once command line tools become available. That will be useful.

Categories
Computers and IT

Gap between Google/Silicon Valley Hi-Tech and Enterprise Software Development

On Quora someone asked, “Do teams from Google and Facebook use TDD to write software? If yes, what approximate percentage of teams are doing that?“, to which Jon Orwant, Google Research Director, answered that Google barely registers on the TDD scale. He states that TDD is rarely used. Now, if you are in the enterprise or conventional business software development field, you hear about TDD all the time as the path to software quality. Not the only path, but one of the essential tools to get to better quality. Obviously, companies like Google shows that alternatives exist.

Categories
Computers and IT

RSS Reader 12/1/2017

Earlier iterations of the rss reader had a traditional Windows UI design. I decided to shift the design in a direction that could work on both desktop and mobile. I started out with a hand drawn design on paper that I then worked into a digital format. The result is the following in-progress version of the user interface.