HNHacker News
TopNewBestAskShowJobs

CyberFonic

1,133 karma · joined March 20, 2009

Cynical old fart.

Too much experience. No patience :-(

submissionscomments
CyberFonic··on Ask HN: How to get started with DSLs and meta-programming?
There is a massive amount of material out there. The keywords that you might want to search on are: MBSE: Model Based Software Engineering; MDD: Model Driven Development; MDE: Model Driven Engineering; generative programming. UML is also one of the core technologies.

Some tools to look at: MPS by JetBrains, MetaCase.

The website: https://modeling-languages.com is rather useful. The article: https://scihub.bban.top/https://doi.org/10.1007/s10270-012-0... is also very good starting point.

CyberFonic··on Ask HN: How do I learn JavaScript?
I like "Javascript for Impatient Programmers": https://2ality.com/index.html

If you mean ES6 as "modern" JS, then you might want to avoid any material on prototypical nature of "true" JS (which it still is under the hood). Personally I find classes and modules to be very useful.

Although you say you don't care for DOM, CSS and the many frameworks, you might need still need to build a small HTML file to kick start your JS programs. I do all my exploring and learning in Chrome's DevTools console and debugger. JS is not that difficult to learn if you already know a curly brace language (C, C++, C#, Java, etc). Even after years of working with JS, fiddling with DOM still catches me off guard on occasion.

CyberFonic··on Ask HN: Why won't you quit a job you hate?
If you read any articles about VCs you'll note that most startups fail and even when they don't the multiple investment rounds dilute any stock you might have been granted. They don't call the rare exceptions "unicorns" for nothing.

Besides, it's not salary that is the trap, but Lifestyle. Most people's lifestyles expand to consume their increasing salaries, so taking even a reasonable pay-cut means big changes to lifestyle ... and the loss of bragging rights of working for one of the FAANGs.

CyberFonic··on Ask HN: Is PhD mandatory for getting into research?
Personally I don't know. But you have to remember that most of the researchers at those bodies do have PhDs. Why don't you read up some of their papers and decide for yourself.

I think you should read @impendia's comment above. If you are really driven to do relevant research then grad school improves your chances of success.

CyberFonic··on Ask HN: Is PhD mandatory for getting into research?
Thanks for pointing out SciHub. I never needed to use it because I had good access via my academic institute's eLibrary.

Out of curiosity I looked up some key papers in my area of MBSE and was able to find them on SciHub. In my mind that amply demonstrates that a non-academic researcher should be able to access many of the recent significant work in at least that area.

CyberFonic··on Ask HN: Is PhD mandatory for getting into research?
In theory it should be possible, in practice it is rare. At most top conferences industry track papers are somewhat more likely to be accepted from non-academic contributors.

The following is based on my decades of industry experience as well as recently completing a PhD in software engineering.

PhD candidates are effectively doing an apprenticeship to become proficient academic researchers. It takes smart, determined individuals anything from 3 to 10 years to graduate with a PhD. Over half who start drop out. Most candidates have one or more supervisors who guide, mentor and co-author papers.

Academic papers need to reference prior work. In most areas the credible references are mostly behind pay-walled repositories for which you either have to pay thousands to access or use your academic institutions access to them. The raises two issues: Firstly, if you are not up to speed with the state-of-the-art, then you can't tell whether your research is yielding paper worthy results. Secondly, you lack suitable referencing of prior-work.

All academically credible journals and conferences have a peer review process. Even experienced researchers get more rejections than acceptances. The big secret is that you need to cite "the right papers" in your background / prior-work section, in order for reviewers to take your submission seriously. It has been said that some reviewers flick to the biblio and if their papers are cited then they are more in favour of an accept decision.

Since you are asking your question on HN, perhaps you already are a member of IEEE or ACM. As a minimum you could peruse some of their publications or even attend a conference in an area that is of interest to you. That will give you a far clearer picture of the standard and areas of current research. Of course, such conferences are an excellent networking opportunity which will allow you to ask your question of people who are currently active in your field of interest.

CyberFonic··on Ask HN: Do you worry about copycats when building a project?
I think your concerns are very valid. However, I also believe that the target market for your product makes a lot of difference. The two extremes are:

Your target market is non-technical, then demonstrating your MVP to potential customers should help validate your idea. The feedback will ensure that you build the most important features first and thus start delivering value to your customers. NB: a customer is somebody who pays for your product. Non-technical prospects are more like to focus on their core competencies and not be inclined to copy something that they could simply buy.

Your target market is other developers or IT users, then the chance that your MVP might be copied becomes much higher.

CyberFonic··on Ask HN: Anybody else have a hard time transitioning to Linux as daily driver?
With the exception of drivers for some devices on cheap notebooks, I have found Ubuntu to work perfectly well. Unlike Windows and Mac OS (I have used both extensively in the past) I remain in total control of my Linux systems. I update when I want and with what I want. Functionally there is an alternative to all the expensive packaged software.
CyberFonic··on Ask HN: If you were forced to abandon Mac OS, what would you use?
I did abandon Mac OS several years ago. Still use a 2009 MBP on very rare occasions. Have been using Ubuntu LTS desktop most happily ever since.
CyberFonic··on Ask HN: Could any talented and creative engineer become Elon Musk if given $10B?
Elon's superlative talent is as a salesperson and as an inspiring leader. Very few engineers would come even close. Elon has probably never done much hands on engineering work himself. Instead he has hundreds of very talented engineers working for him.
CyberFonic··on Ask HN: What's the best resource for learning modern x64 assembly?
It also carries over to OS implementations. For example, many OS designed for the 386 failed to implement demand paging for which the CPU had some great support. I believe Windows continued using segmented addressing due to the backward compatibility with earlier releases of the OS.
CyberFonic··on Ask HN: What's the best resource for learning modern x64 assembly?
Most 64 bit processors only use 48 or 52 bits for physical memory addressing. So you might have a 64 bit virtual address, but that gets crunched down to your real physical memory which might only need e.g. 36 bits for 64GB RAM.

You rarely actually use 64 bit integers. So much of the processing is on strings which use 8 or 16 bits.

Furthermore, your Intel x64 processor still contains the features first introduced with the first IBM PC using the 8088 which in turn was conceptually compatible with the 8008 and 8080. When you try to understand a modern Intel or AMD CPU, you need to be aware of the legacy of 40+ years of backward compatibility. Once you understand the historical decisions, SSE, AVX architectures start making more sense.

CyberFonic··on Ask HN: Why does buying computers/printers/tech in retail suck so much?
All those extras are how they make a profit.

After doing my research I often end up buying "bargains" at those types of stores. The hassle is the inconvenience I endure in order to get the loss leaders. Of course, I don't take it personally and politely decline.

It seems to me that the salespersons in those types of stores are minimum wage, untrained staff subjected to draconian managers.

CyberFonic··on Ask HN: Why does buying computers/printers/tech in retail suck so much?
It probably isn't the salesperson's fault. Many managers harangue their staff into selling all those "add-ons" as that is where the profit is. Most managers get a bonus for reaching profit targets.
CyberFonic··on How do you design a no-code platform?
With a data-driven system, you basically end up with the data as a sort of intermediate code which is then interpreted by the "environment". The interpreter still needs to support the domain objects that implement the required behaviours. If you keep extending such a system until it meets all the requirements, you end up with yet another programming language and interpreter.

A far more practical approach is to have clearly demarcated, library of reusable domain specific objects which are then assembled as required. Thus the majority of the functionality (the 80%) ends up being written in a sort of embedded domain specific language.

CyberFonic··on Ask HN: What agenda do you have for 1:1 meetings with your supervisor?
I have had many managers and no two conducted 1:1 meetings the same.

In my experience it depends greatly on what sort of rapport you have with this manager. Can you read his personality? If you barely know the person and think he might be a stickler for detail and protocol, then keep your agenda to positive topics. Focus on your accomplishments and anything you plan that has a direct contribution to the company. Avoid anything negative, it might come back to haunt you. This is the safest path.

If you have reasonable rapport then I would suggest to still stick to being positive, but you could very diplomatically raise any issues that might be negatively impacting the company. What I mean is that instead of saying something like "This open plan office is too noisy and I can't concentrate" say: "Sometimes the office gets quite noisy. Perhaps these conditions could be distracting for some of the staff and impact upon productivity." If you get asked how it affects you then you could say: "I use noise cancelling headphones to minimise the impact and maintain my workflow." Of course that presumes you have such headphones. The above is merely an example of how to recast comments so that you don't look like a complainer. If in doubt, don't.

The next 1:1 will be much easier because you have the experiences from the first one to guide you.

CyberFonic··on Ask HN: What are you using for backups?
I dislike the idea of backing up my data on other people's computers and disk drives. And paying for all that internet bandwidth is another negative.

So I have several USB3 external hard drives which I backup to in rotation, more or less the same sequence as we used to do with LTO tapes. On Apple Macs I use TimeMachine and on the Linux servers some custom scripts which basically achieve the same result.

Of course, the backup scripts exclude temporary and other non-essential files. The other key factor is to monitor drive errors and being aware of the MTBF of disk drives and replace them before they become unreliable.

CyberFonic··on Too much to learn. Overwhelmed, incompetent, and behind
It is dangerous trying to be an expert at everything. Even super-heroes need to team up to defeat the worst adversaries. So pick one skill to learn at a time and get really good at it.

As for the salary comparisons. Look at people at your location and with comparable skills for your reference. Large discrepancies are likely to be due to location and employer factors rather a reflection upon your true value.

CyberFonic··on Ask HN: How can I find a SaaS project to build?
I agree networking events generally consume a great deal of time.

Perhaps you could try to be a more strategic. That is, at least get an idea of what your idea client / collaborator would be like. For example, if you are interested in health and fitness, then make contact with SMEs who have gyms, sports stores, provide boot camps, etc. Still on that same track, google to find some forums and directories and find out who might be interested in your area.

Ok, sport and fitness might not be your ideal, but the same principles apply to any general area. I firmly believe that you need to build up an interest in a specific domain/industry in order to find opportunities. The recommendation to scratch your own itch leads us to build stuff for other hackers/programmers and thus end up in a small and over-crowded market.

CyberFonic··on Ask HN: Which are the best resources to learn Compiler Design
I cut my teeth on the "Dragon Book", but as you say once you get past the syntax analysis material it becomes increasingly opaque. Most books are written to be used as part of some CS curriculum. Only a tiny number of SEs go on to work on compilers.

Personally I found the Nanopass approach much easier to understand because it breaks down the compilation process into lots of simple transformation steps: https://nanopass.org/

CyberFonic··on Ask HN: I can't specialize, how to differentiate myself?
It's an excellent book. But it presupposes that the reader enjoys the processes of learning, discovery, experimenting and lots of failure. The process of becoming an accomplished generalist involves a lot of "struggle".

There are folks who like to keep things simple, consistent and predictable. They are the ones who rarely pick up another book after they finish their education. They also give up far too easily when confronted with a challenge. Nothing wrong with that, but those choices lead to specific outcomes. No pain, no gain.

CyberFonic··on Ask HN: I can't specialize, how to differentiate myself?
You don't provide any context as to what form your struggle takes with each new project. So it is hard to give general advice. However ...

In doing the many random things, have you noticed any that you enjoy far more than others? If so, then it might give you an ideas as to what area to focus your learning and development upon.

CyberFonic··on Ask HN: How can I find a SaaS project to build?
My guess would be that the people you are trying to reach are not reading reddit nor Hacker News.

In my experience, typical business folks are too busy running their business to look beyond their everyday problems. I have lost count the number of times I have come across people using a spreadsheet program as a form of database, e.g. for keeping track of customers and email as a hierarchical filing systems, etc.

Perhaps you should read: "eMyth". The basic message is that most people are working "in" their business and not "on" their business. Which in turn means that only a tiny percentage of business owners would be even thinking about looking for some form of improvement.

Lest I sound too negative. My advice is to get up from the computer and go and talk to small business people, e.g. networking events, chambers of commerce, etc.

CyberFonic··on Faster Python Coding with Kite
Exciting application of "cognification" to enhance the speed at which you can program in Python. Other languages coming soon, just sign up to be notified.
CyberFonic··on Ask HN: How would you build an online business without Google?
From the headline I thought you were referring to Google Cloud servers and services.

Whether you like it or not, Google search, AdWords, etc do capture a huge segment of the potential marketplace. Focusing on quality and relevance instead of trying to game SEO might mitigate some of the extreme swings.

Establishing a strong presence on Facebook, Instagram, Twitter and even here on HN, etc, might reduce your reliance on the GoogleSphere. Have to wonder whether Bing and other lesser used search services might also be of value. Have never looked into those.

Can't help noticing the amount of advertising that some web sites invest in "traditional media". They probably only do it because it works for them.

CyberFonic··on Ask HN: How to Master Linux?
The "Unix Philosophy" section is solid gold. With those principles in mind many other aspects suddenly make sense. Might be a good idea to keep that page bookmarked and return back to it, often.
CyberFonic··on Ask HN: How to Master Linux?
I'm sure you'll get lots of conflicting advice. There really is no high road that's better than the others.

Although I've been using variations of Unix since Version 5 running on a PDP-11/45, I use an Ubuntu desktop system for everyday use. Simple because it is easy to keep up to date and works well both as a graphical environment and with the terminal. My setup includes 2 LCDs in landscape mode for graphical apps and a third LCD in portrait mode exclusively as a terminal with lots of open tabs.

As for getting started, have a look at https://www.lifewire.com/beginners-guide-to-linux-4090233. Then you just need to frequently refer to the man pages and the many other guides you will find with Google. https://unix.stackexchange.com/ provides reasonably high quality answers to many common and not so common questions.

I recommend that you learn to use terminal commands well. As a pro tip, if you are using 'vi', CTRL-] is the same as ESC. When you get used to using that your speed will increase significantly. Oh, and remap the CAPS-LOCK key to be a CTRL key. You don't want to get RSI in your left pinkie.

CyberFonic··on Executable Models in Software Engineering
I presume you will be sharing the results of the survey with HN readers.
CyberFonic··on Ask HN: Have you ever felt your life is going nowhere?
I too bombed in second year of my degree. Looking back I can see that it is the "dip" (there's a book by Seth Godin on this topic) in your academic progression. Your references to not knowing enough come across as the imposter syndrome. It seems to be common for people with high standards.

Based on my experiences I would suggest dropping the math major and concentrate on graduating with the CS major. Do they have 3 year degree courses or only 4 year? In other words make your goal the MVD (minimal viable degree).

With the degree and 3 years experience you would have better employment prospects than by dropping out and just relying on your experience to date.

If your intellectual interests require it, you can always do some post-graduate study on a part-time basis. Having spent some time teaching and researching in academia, I would suggest doing some in-depth research and talk to people before committing to that path. It can become quite bureaucratic and grants focused and thus more stressful than the majority of jobs in commercial settings.

CyberFonic··on Ask HN: I need advice on my first B2B SaaS startup
I agree with these suggestions.

As already pointed out, you are addressing too broad a market. The best way to address a specific niche is to have worked in that industry. To me that is the only way to know the jargon and the pain points.

You also could note that businesses are often time poor. So if it takes time and effort to incorporate your platform then many prospects will pass.

If I were in your position, I would go back to the pilot "customers", establish what value you bring to the table. Ask for, say 10% of that up front and make it work for them. Once you've accomplished that you have your reference s to back up future sales.

BTW if your product is that good then you could be charging $10000 / year / customer. That is like 1/5 of a single person's salary. I guess you could easily deliver such an improvement in productivity.

← PreviousPage 3 of 34Next →