Not anything we hear on Earth, Jim
When financial analysts speak, they speak in their own code to each other. Here are fragments overheard in this week's financial analysts call with PTC:
We triangulate around the pipeline and all the deals in the guidance and what could happen and what could fallout from different ways.
That let us to open the aperture and saying, well, if that’s the model then we should have even more seeds in our premium model would give us even broader exposure.
I mean satisfied the upside from conversions and so forth, but as guided would your deferred necessarily go up every year through till 2021 and so forth?
Unwind the two, yes, sorry. It’s too hard to unwind the two.
Well, Jim, that was a detailed answer, so I’m going to end quiz early.
I've turned off the automatic updating of apps on all my Android devices, because my life is better that way. These days the bulk of "What's New" lists are "bugs and performance enhancements." If the software is running bug-free for me, and fast enough, then I don't need the update.
As with any software, updates are not necessarily better. Some introduce ads, even after I pay for the ad-free version. Others badly screw up the nifty user interface into something that's slower and unusable (here's looking at you, Opera v42 for Android).
About the only updates I'll do are for CAD apps on my tablet, as they are still progressing function-wise.
To turn off automatic updating, go into Google Play, select Settings from the hamburger menu, and then turn off Auto-update Apps and App Updates Available. In any case, Google no longer updates Android on any of my devices with security patches.
Not ransomware, either
Last week a pair of folders appeared on my desktop computer, the workhorse that makes most of my income. The new folders had random letters, as shown below: A3fOg and X1W2J2. When I erased them, they reappeared a few minutes later with different names.
Each folder contained 10 files, such as .rtf, jpg, and .docx, with unusual looking file names. See figure below.
Naturally I installed and ran Malwarebytes, and it found some potential viruses that Microsoft's anti-virus utility missed. But the folders remained.
Naturally I researched what might have caused the folders and odd files but the google was silent on them. I did learn that innocuous looking files, like the .doc file, could contain VBA code that, when run, locks up files on the computer -- ransomware.
I worried about the spread, as I found a similar set of folders on my laptop. Two other desktop computers in my office were unaffected.
After a few days of research failures, I simply changed their attributes to Hidden and Read-only. After a day or so, the attributes would be removed automagically. I figured if I ignored the files, no harm would (probably) come to my machine. There wasn't much else I could do. I was puzzled, however, that the anti-ransomware software didn't squawk about the mystery folders and files.
This morning, all was revealed: the folders and files were placed by the anti-ransomware software (Cyberreason Ransomfree) as honey pots. It's one of the tactics the utility uses to determine if ransomware is infecting the computer. The reason the mystery folders appeared on just two computers on our network is that those were the two computers on which I installed the anti-ransomware software.
Knowing the folders are safeguards is a relief. But they irritate me, because one of my foibles is that I don't like unnecessary folders cluttering my computers (I even run RED, remove empty directories) -- a phobia that probably goes back to the days of diskettes and 30MB hard drivers, where every byte possible was kept available.
My son had a spare ticket so I agreed to go with him to the rap concert. He told me to think of it as a "cultural experience." Talk about a narrow demographic; my son figures I was the oldest one there -- by far -- except for the stadium ushers. Silicon ear plugs assisted in the experience.
(Photo takes with a 135mm equivalent zoom at 1/8-second and ASA800.)
I was in the Galino Island bookstore last year when I noticed upfront a display for a new book getting a lot of publicity from the mainstream media. I forget the title, but it was a book that proved to eventually be inconsequential to the ongoing history of mankind.
I noted my surprise to the bookstore owner that this book, whose content is fluff, was so prominent in his store, and that there were so many copies available to purchase.
"We need those best-sellers to stay in business," he huffed.
It's no different for the very different business of computers. It needs a best-seller every so often to boost profits; now it has reached an era were computers and smartphones are mature technologies that no longer excite; worse, they no longer need upgrading.
So every few years, the computer biz bets on a new technology and then hypes it to death -- like Quadraphonic Sound in the 1970s (four speakers instead of two) and 3D TV in the 2010s (three dimensions instead of two).
The purpose behind Qudraphonic technology was to boost sales by selling consumers two more speakers and a new, replacement receiver (an amplifier with an AM/FM tuner built-in). Quadraphonic sound failed because the software never emerged to take advantage of it, software in the form of vinyl records and cassette tapes. But it failed also because stereo systems were relatively expensive back then: when a family purchased one, it expected to keep it for decades to come.
(I still use the Marantz receiver I bought in 1977; it has the obligatory "Quadraphonic-ready" label. With inflation, buying it then was like spending $1,000 today.)
(The music industry was able to force consumers to switch to the new technology of CDs by cutting off the supply of vinyl records. This burn-the-bridge tactic is rarely available.)
From the Quadraphonic example we learn that new technology is not about consumers buying just one new item. Getting into VR(virtual reality) isn't about buying a $600 virtual reality headset only. Industries design a cost-multiplier into new technologies: Quadraphonic sound required a new receiver + two new speakers + speaker wire + new albums. Consumers saw little benefit for a lot of cost.
(5.1 sound succeeded, because it became the default for new systems, which, along with the six loudspeakers, were relatively cheap compared to earlier decades. 5.1 arrived at a time when aging boomers could afford to replace the stereo systems that they had bought in their college days. Most software is in the form of movies on DVDs, which throw in the 5.1 sound effects for free. Unlike music, which we listen to over and over again, movies are a toss-away medium, so consumers were acquiring new software anyhow.)
The hope for 3D TV followed the same history as quad-sound: adding one more dimension to the image was designed to require consumers spend on a new TV + one or more 3D glasses + new software (movies). On the industry side, there was new software for creating and editing 3D movies, tracking equipment and suits for actors to wear -- I saw all this while visiting a Siggraph at the time and was stunned how the players in the industry were congratulating themselves on how big 3D TV would become. "You don't count your chickens before they hatch," as the old saying goes.
The industry made it easy for consumers by throwing in 3D into TVs. Even my digital projector is 3D-ready! It didn't work. Consumers had just purchased big-screen plasma and LCD screens a couple years earlier and weren't about go throw out a perfectly good set in so short a time.
The actual segment killer, however was the wearing of the polarizing glasses. It made people look geeky to each other, didn't necessarily fit properly for the two or more hours of viewing, and was one more barrier to starting the movie. People'll wear them when they are anonymous in darkened movie theaters, but darn-sure not around family and friends! Plus, the faked stereo effect (achieved by quickly alternating the image seen by the left and right eyes) gave a portion of consumers headaches.
In the end, 3D is relegated to an extra-cost option at movie theaters where patrons get to watch digital movies, cartoons usually, at half-resolution.
Why VR Will Fail
History is important, because it helps us understand the future. From the examples I have given, perhaps you can already understand why VR will fail.
If not, then here is why: VR requires a boot-like head-mounted display (that looks stupider on people than 3D glasses) + purchasing the most powerful hardware (very expensive new smartphones or new computers) + new software in the form of VR movies. All these hindrances, plus viewing VR gives a segment of users vertigo.
In return, users get to view something in 360 degrees, when by nature humans want to be directed linearly in their reading, hearing, and viewing of storylines -- or even driving on 1D roads, walking along 1D sidewalks, and through 1D airport security checks. Multiple viewpoints are a no-go for the human brain.
It is a hard lesson for the tech industry to learn that people require 2D interfaces with 1D (0-degree) storylines. This is the way in which brain of the human species operates. For many people, 3 minutes experience with VR satisfies them for the rest of their natural lives.
(Smartphones succeeded, because they provided so much more utility -- cell phone, GPS, music player, ebook reader, text messaging, et al -- often for $0 through telephone provider subsidies. The only ancillary cost was perhaps an optional case. In this example, the cost to the consumer was cheap: smartphone + nothing else.)
The most important reason for VR to fail is to ensure that our children spend more time outside and less time with their faces glued inside a skiboot. The tech industry is left wanting the consumer to want something that the consumer doesn't want to consume.
(I later realized that the bad memory problem had manifested itself for the entire year I owned the Lenovo, with the frequent and randomly-worded BSODs -- blue screens of death -- particularly when it woke up from sleep mode.)
Fortunately, my credit card extends warranties, which paid out the original purchase price to me, with which I bought the HP Spectre. I subsequently found a used Yoga 2 motherboard on eBay for $300, did the transplant myself, and sold the repaired unit to a friend in need for $300.
TIP: Lenovo used the identical motherboard for its Yoga 1 and Yoga 2 laptops.
The reason I did not buy another Lenovo was because they make it hell for out-of-warranty customers to receive assistance. I was pleased, however, that the authorized repair center, a local computer chain named Mike's Computers, assisted me above and beyond with all the paperwork the credit card company wanted for the extended warranty compensation. The credit card company compensates the cheapest of (1) the original purchase price; (2) cost to repair; or (3) purchasing an equivalent replacement model.
The entire process dealing with Lenovo, Mike's, and the credit card company took about three months.
TIP: Keep those purchase receipts and credit card statements!
HP Spectre X360
The Spectre is HP's top of the line laptop, even above the former top-of-the-line Elite series. I bought the first generation X360, which is now two years old, I think. Subsequent generations of the X360 have suffered from the industry's runway-model obsession with thinness, which is code for losing functions, so I'm glad I got the original one. (The "360" refers to the screen's ability to rotate 360 degrees to make a mock tablet.)
So, I am happy with it, with two minor exceptions: the keys have less travel than the Lenovo Yoga 2, and so are somewhat harder to type on -- but still better than nearly all other thin laptops. There is no Mic button to turn off the microphone, although HP provides an app that does the same. I had more negatives with the Lenovo Yoga.
What I like best about the X360 are its feel and its speed. It feels so solid, whereas the Lenovo felt floppy. For me, a computer feels fast when it works as fast as I do at everyday operations. It boots from a cold start to the desktop in 18 seconds, and recovers from sleep mode in 1 second.
I had one minor problem with it: the orange LED for the mute button did not work. HP tried fixing it remotely with a BIOS update, but eventually decided the entire motherboard needed replacing -- still under warranty. They sent me an empty box with a pre-paid sticker and stuffing in which to return them the laptop. Five days later, it was back to me. So, good service!
The drawback was that HP didn't just take the old SSD and attach it to the new motherboard. Instead, they copied only my data to the new SSD, meaning I had to re-install all my software when the laptop came back.
The important specs in brief:
I bought the 256GB/8GB model, as it has the best balance between features and price. The cheaper model used a hard disk drive; going with a bigger SSD or more RAM meant the price sky-rocketed. With the microSD card holding non-critical files, such as downloads and movies I watch, the main SSD still has 100GB free -- even with multiple CAD systems and operating systems (via VirtualBox) installed.
When prices come down further, I might replace the SSD with a 512GB or 1TB model, but so far the 256GB capacity is sufficient.
A reader was wondering, "Is there a sysvar (or any other way) for AutoLISP to determine if a vertical such as Civil 3D is running?"
An initial response was, "No sysvar or regular Lisp routine does this. I suspect it's available in the higher order APIs, like ARx or VLX."
Then I found it. The menu system for Civil 3D is quite different from generic AutoCAD. The following bit of code...
(setq VERT (getvar "menuname")
VERT (substr VERT (- (strlen VERT) 2)
...returns the last three characters of the full path/name of the current menu. This is "c3d" for Civil 3D and "cad" for generic AutoCAD. I assume similar results would come from other AutoCAD-based verticals.
I can't guarantee that it is 100% reliable, because it turns out that generic AutoCAD has 11 menu files in its support folder while Civil 3D has 26. Now for the interesting bit; all AutoCAD menus are also in the Civil 3D folder, which is logical, because Civil 3D can be switched back and forth between Civil 3D and generic AutoCAD by switching profiles.
Further complicating matters is the fact the MENULOAD command shows that 6 are loaded into generic AutoCAD and 10 into Civil 3D, with some overlaps. My only hope is that MENULOAD seems to display additional customization menu files that have been loaded. It does not seem to display the "Main customization file" which is what is returned by (getvar "menuname") so my routine is probably correct, but as I said I can't 100% guarantee it.
As indicated in the comments, it probably returns an appropriate value for other verticals. Here is an the LISP routine indented with comments:
;; Variable VERT contains the last 3 path/filename
;; characters of the to the current menu file:
;; "cad" = AutoCAD
;; "c3d" = Civil 3D
;; Other vertical apps probably return suitable
;; appropriate values.
(- (strlen VERT) 2)
Q&A with Alexander Spivakov
This year C3D Labs celebrates the 20th anniversary of its C3D geometric kernel. Twenty years ago the founders of ASCON Group made the decision to begin writing a new mechanical CAD system, today known as KOMPAS-3D. To power the system, the company established a team to write a 3D kernel good enough to compete with foreign kernels in operability and functions. This is where the history of the "Kolomna" geometric kernel begins.
During the years that followed, ASCON continuously developed and improved the kernel. New modeling methods were invented, computational algorithms were developed, and additional modules were added such as a parametric solver, the data converter, and a visualization module. Behind all these changes, there always were a special group of people developing the geometric kernel, which recently was renamed C3D.
Today, people take a greater interest in geometric modeling, some of whom keep tabs on who develops what. So to celebrate the 20th anniversary, we decided to conduct interviews with our development team:
In this fourth interview, we shed light on the development of converters in the C3D kernel and so we had a frank conversation with Alexander Spivakov, who is responsible for developing the C3D Converter at the company's Kolomna office. The interview was conducted by C3D marketing manager Arkadiy Kamnev.
- - -
Alexander Spivakov is mathematician and programmer at C3D Labs
Q: Alexander, where are you from? Where did you study and grow up?
A: I am originally from the city of Gorkyin Russia. I lived there until I was 26, and then studied at the Lobachevsky State University in Nizhny Novgorod in a faculty with the tongue-twisting name of “VShOPF.” This is an abbreviation that in Russian stands for “Advanced School of General and Applied Physics.” My first field of study was gas-discharge plasma spectroscopy. My second major was related to solids and semiconductors. After six years of basic training, I had three more years of postgraduate studies at the Institute for Physics of Microstructures of the Russian Academy of Sciences (IPM RAS), but didn't defend a thesis. I left university in 2007, and in 2010 I moved to live and work in Kolomna.
Q: What can you tell us about your work experience before joining ASCON?
A: When I was in secondary school, I managed to work parttime at the Gorky Automobile Plant. The company arranged work opportunities in summer for the children of employees. Children were usually involved in work like watering flowers, looking after flowerbeds, and weeding the grounds. But I was lucky, because after grade 9 I ended up in a department that worked with AutoCAD. This was where I first learned what CAD (computer-aided design) meant, and so for two summers in a row, I worked hard at creating workshop plans and teaching trainees the basics of working with CAD.
Later in my university days, I spent the summers working as a laborer and electrician on construction sites. Well actually the first entry in my employment record states that after my third year at university I worked parttime as a system administrator at a bicycle factory.
Q: It would be interesting to know about the first job you held in your field. Where was it, and what did you do?
A: My first place of work was the Institute of Applied Physics of the Russian Academy of Sciences (IAP RAS). . By coincidence, this is where I was first involved in scientific research, which dealt with the visualization of microwave radiation in gas-discharge plasma.
Q: What is that?
A: We used electrical discharges in gas to create plasma displays with specific characteristics, and then treated them with microwave radiation. This resulted in a visual image that could be captured by a camera operating in the optical or infrared range. The advantage of this approach is that by using relatively simple tools we can solve problems that typically require much more complex devices.
Q: How could this technology be applied in practice?
A: The first thing that comes to mind is the problem of viewing different spectral ranges at the same time, such as in the centimeter and millimeter ranges. We can take a material that is opaque to the eye and then use microwave radiation to look through it, which allows us to detect metal and other materials opaque to microwave radiation. At this point, I could use stock examples like “searching for illegal weapons, explosives, drugs and diagnosing diseases.” I think you guessed them anyway.
Another application for the technology is studying the output properties of high-power microwave devices to, for example, configure them.
Q: When you first joined ASCON, what your job?
A: Initially I worked on the KOMPAS-3D CAD project, but almost immediately I agreed to switch to the mathematics department. During my probationary period I was given the task of developing a function that builds surfaces from four curves and networks of curves -- my colleagues wanted to see if I could handle the task! After I passed probation, I moved on to work on converters, which is what I do today.
Q: What do you find special about working on file conversion software?
A: The key concern is that converters cannot reject any input data. As each thing comes out of a file, it has to be processed somehow. We have to deal with syntax errors, bugs, and special-case topologies. There are cases specific to different modelers and processors in exchange formats. We have to analyze all of them in a specific way and produce the final output -- or decide that no output is possible, and so notify the user of the problem.
Another issue that occurs is when we recalculate 3D models into the architecture of our .c3d format. The standard algorithms used in the C3D geometric kernel don't always work, and so we added mapping routines to the kernel specifically for converters. It was one of the first problems that I solved working on the kernel together with my colleague Vladimir Latyshev (another mathematician and programmer at C3D Labs).
Q: What do you work on the most at C3D Labs?
A: That's an interesting question! Most of all, thinking. A large part of my working time is spent reading documentation and user manuals. When we import and export data in formats such as STEP, IGES, Parasolid (X_T, X_B), ACIS (SAT), VRML and STL, we need to follow the existing standards strictly, especially for ISO. For tunately, the formats are publicly available and their documentation includes a large number of examples. So I find that usually there are no problems working with them.
The rest of the time I spend fixing bugs and writing new features for the C3D Converter.
Q: While we’re on that topic, let's talk about formats. The C3D Converter will very soon be supporting STEP 242 and JT. Why are these two being added?
A: Exchange formats are constantly changing in response to changing demands. The emergence of software products with new functionality leads to the parallel mergence of new formats. Older formats are forgotten as they become things of the past. Change means that exchange formats like STEP and JT learn how to store Product and Manufacturing Information (PMI). . That's why we decided to teach the C3D Converter how to work with this data.
STEP format with PMI had already been implemented in our converter. But STEP developers decided that PMI was inadequately supported by the 203 and 214 protocols, and so came up with a new protocol, 242. Its main task is to harmonize the two previous protocols so that there is no ambiguity, allowing programmers to more easily exchange data. I found that the most interesting feature of STEP 242 is its ability to work with composite materials: the protocol writes and reads the specific aspects of stacking layers, compounding, and so on. STEP 242 also allows us to write all types of connections, including screwed, glued, welded, soldered, and riveted. We have already implemented the part of this protocol that relates to communicating information on the form of the 3D model in our C3D Converter.
As for the JT format, this is a binary format that is read quickly. JT supports compression and layered loading, which allows it to calculate the triangulation of the 3D model separately with other characteristics, and then quickly display it on the screen. The file recording scheme is very convenient when there is no need to make any changes to the 3D model. But if we have to change something, this requires recalculating all the triangulation and B-Reps of the 3D model, as well as the links between them. The JT developers thought apparently that this would be an operation far less common than viewing data, and so economized on that computing resource. By comparison, other formats typically transmits pure B-Rep data, which is then used to calculate a secondary representation of the 3D model for display on the screen, calculate MP, and so on. Each time we open one of these files, it unfortunately consumes a lot of operating system resources.
Q: Some 3D file formats cannot store the parameters. Can you explain why?
A: Parameterization is a concept from mathematics. But from the CAD point of view, it is better to use engineering terms so that software developers can accurately implement their designs. Another issue is that that the parametric kernels do not always match the geometric ones, so it is not surprising that for geometric kernels one or another parameterization may be simply not available in the exchange file.
Q: But we still have the problem that we cannot store the geometry and history of 3D models in exchange formats. What is the reason for this?
A: The history of building a 3D model is a concept that is too dependent on CAD. In this sense, the boundary representation (B-Rep) transfers information about the 3D model in a much more consistent way from one version to others versions of the software in which the model was created. In principle we can also transfer the history. All we need is the will to do it!
It turns out, however, that this is not a panacea. Let's imagine that we are transferring a B-Rep of a 3D model with the history of building it, overlaid a plane secondary representation and, in addition, with the calculated levels-of-detail. In this case, we need somehow to synchronize all of this data. What we get is a complex computational problem that needs a complicated system to track feedback. There are not many software developers who would like to service such a huge thing. I think this is the answer to your question.
Q: What do you like most in the working process?
A: I really like having multiple work horizons. On the one hand, I can always see where to go and what the system will look like in the future. For me, this is a kind of extreme programming, something I strive for. But in the medium term, I have to plan the work on my own. One thing that I will be dealing with in the near future is multi-threading.
Converters are a great testing ground for code parallelization! This is why the very first results of multithreaded computations in the C3D Toolkit were achieved in our converters. The maximum effect from acceleration is achieved here with lots of large blocks of data. For example, when we receive large and complex multi-component models, often it turns out that each component is an isolated set of data, which can be processed in parallel effectively.
Q: From where do you get the ideas to develop the C3D Converter further?
A: I find it helps to think about what is beautiful. In some cases, we need to standardize the code; in others, we need to create our own objects; or we work on something that could be taken under the full control of the user or left to his discretion. It is the appearance of how the system is built, which reminds me what the idealized converter should look like. It is very important to have a broad outlook; used properly, it can help in any work.
Q: Could you tell us about your hobbies?
A: A few years ago I took up kayaking. In Kolomna, I joined the Ark Tourist Club and began to attend the School of Sport Tourism. When I joined the club, I already had plenty of kayaking experience, but for many other guys this was the first time they had ever seen rafting equipment. We train during the autumn and winter, and occasionally we go out on weekend trips. For our final exam, we took a category II trip on catamarans in the Caucasus, the mountain range that is located in south of Russia.
The Spivakov family kayaking down a river
I should mention that catamarans behave in their own particular way on rapid rivers, and that the experience is quite different from expedition kayaking. A single kayak trip on the mostly lowland rivers of Karelia or central Russia can easily be 200 km long, but in the Caucasus we had to travel in roped teams and make regular crossings between rivers. This gave us a very different experience. On calm water, we can use our own strength to reach our destination. But in white water rafting, we had to be able to use the power of nature, in particular the energy of the stream, to achieve our objective. This is very difficult and so makes it very interesting!
Alexander against the backdrop of Mount Elbrus, the highest peak in Europe
Q: Can C3D Toolkit compete with other solutions?
A: I believe that the converters are products that should be used as a key feature of the C3D Toolkit. The C3D Converter module provides developers of applications based on the C3D Geometric Kernel with greater data exchange capabilities than with any other kernel.
In the very long run, I see the emergence of complex hybrid systems on the market, which create 3D models with a low levels of detail. Such models are used for calculations like dynamics, electrics, strength, fatigue, and fitness for assembly; the results are run quickly through a variety of engineering analysis systems. This is where converters are the key elements that ensure the easy integration of different software.
As for the C3D Toolkit in general, its attractiveness gets a major boost in that software developers can communicate with the solution developers who write the software. If someone finds this important when selecting the kernel, then C3D Labs is ready to offer the best terms. Understanding the needs of each developer and staying in close contact is exactly what we can provide!
Q: In your opinion, what are the current trends in CAD software?
A: Regarding the development of converters, I would like to mention materials engineering, as it is the closest to manufacturing. In particular, converters will be able to transfer the characteristics of various materials, making it possible to provide data for hybrid engineering and manufacturing systems. But everything that relates to complex assemblies will go into long-term storage.
Today, we can use engineering software to create 3D models of products, provide the design documentation and specifications, analyze the scanning results, and record the history of building and assembling the model. One day, we will be able to store all this information in a single file; for this, I think that the most preferable solution is open exchange formats.
I also believe that, in the near future, we will see the emergence of qualitatively new technological processes, for example, in the area of biotechnology, where a living body can be connected to a nonliving 3D model. Who knows, maybe there will even be a "biological CAD" like in science-fiction!