It's also means that they are looking not for tech talent but for skilled labor. Highly skilled labor assumes no re-education for the current job but does not account for future work. If you are a master carpenter or a master mechanic then you probably have invested on tools, educating yourself on your own time. You are also probably specialized.
E.g. you are highly qualified at fixing/tuning Ferraris but Toyotas are n't your thing. So you go to a Ferrari tune up shop where you can spend the $500,000 salary. /s
IMHO, Tech talent on the other hand works completely differently. They are more about talent (i.e designing stuff, critical thinking, analysis skills) rather than rolling into a specific shop to fix a specific issue.
That's where there seems to be this problem with "run a business, not a school" that they have.
Not really the right term IMHO. Instead of calling a return which implies ROI, it's a discount. If you did sell it at the higher price and notwithstanding taxes, overhead of inventory management, other costs and your make 27% then it's ROI.
Isn't that how it always works at Costco? If you buy in bulk - you save.
I agree, if you buy in bulk you save. And I agree typically, people associate return/ROI lingo with investment. However, I think it's useful to think this way to compare ways to utilize your excess money. I find it helps people think about where they can do this in their lives outside of the normal Costco run.
Your personal problems (and health and family) should always come first before work. Any reasonable manager should be able to recognize that and help you out. Worst case take a day or two off to solve your problem. Long run - day or two won't make a difference.
Not just Germany but I found the same problem in Amsterdam when I tried to set up Internet for my apartment. It took 2 weeks for it to be enabled and it was really surprising since it takes about a day or two to get it setup in AZ.
No it is not. It all depends on the area in Bangalore. Most of the time the sockets would not be available because of high demand and very low supply (because of no interest in expanding the capacity). The government owned BSNL has problem of poor quality (cable cuts and service outage). Please note I am not talking about wireless technologies and only wired.
It would be more interesting if the code was tied with parenscript instead of generating the raw HTML directly. That way you could generate the Javascript needed to manipulate the real DOM. Otherwise, this isn't a virtual DOM, it's only a minimal template engine.
We'll see when I get to the change-tracking part, last time I checked out parenscript it still didn't rub off on me. I would strongly recommend generating straight HTML for the initial layout though, I have really bad experiences from debugging completely dynamic pages in the browser. Additionally, one of the aims of this library is to generate any kind of HML in a reasonably effective way, whether static or dynamic.
Still, a virtual DOM is exactly what it is; a template engine would just dump the strings without offering support for modifying the document.
Having sufficient factors. The only change I would do (if I could) is to make the metric system use Base-12. That would be something truly better because one-third would now be 4; quarter would be 3; half would 6; three-fourths would be 9. Compare that to 3.3333; 2.5; 5 and 7.5 of something.
Just like who hexadecimal is very natural in 8/16/32/64 bit computing, the "real life" usage of measures would be much easier if it was in Base-12.
I'm a embedded software dev and write code all day in C. Sure enough forth comes up in conversations once in a while as does other ideas like Python, JS, Lua etc..
Of all the alternatives to C, Forth is the only one which groks hardware. This is particularly important for embedded development. Any realistic alternative to C must understand interrupts, memory mapped registers etc.. Forth is the only one in which this is possible. Every other example I've seen always uses C for "low-level" access or a libraries. If you need to do that, then you won't win over embedded devs like me. It's much easier to write good embedded C code (no mallocs etc) than having to debug FFI.
Having said all that, my mind doesn't understand Forth. I'm too used to seeing code in C or even assembly to fully understand Forth. Nevertheless things like https://github.com/jeelabs/mecrisp-stellaris are really cool and are a realistic alternative to C.
> Any realistic alternative to C must understand interrupts, memory mapped registers etc.. Forth is the only one in which this is possible. Every other example I've seen always uses C for "low-level" access or a libraries.
Forth is a great little language, and a perfect example of how to to do a surprising amount with very little. For more complicated embedded work, however, I've been deeply impressed with Philipp Oppermann's tutorial on writing a kernel in Rust: http://os.phil-opp.com/ You have to limit yourself to Rust's "core" library (instead of the usual "std"), and you won't have a heap until you write one, but it's surprisingly nice. Well, except for debugging double faults. That's never nice. :-/
Yeah, but Rust is much more complex than Forth, and really hates baremetal: you can do baremetal in Rust, but it's idiomatic to minimize contact. That works really well in some cases: OS work, for example.
But if you're working in a raw microconroller, you're going to be touching metal constantly, and you won't want anything you don't use slowing you down.
In short, Rust is great, but it doesn't beat Forth in Forth's biggest problem space: programming embedded systems under exceptionally tight size/speed constraints.
Not to mention that Rust is not interactive and doesn't allow for dynamic, incremental development. Forth brings the rapid, extremely tight feedback loop one sees in Lisp or Smalltalk to hardware.
Comparing it to Rust is missing this point entirely. Finally, let's not forget that Forth has been empirically validated multiple times in this domain (e.g. NASA has used Forth on board satellites and spacecraft).
Rust is entirely unproven in the hardware/microcontroller space (some would say in general), so I tend to view posts like ekidd's ("for more complicated embedded work") as projecting/wishful thinking.
Good point: I was going to bring this up, but I already had in another post, and I didn't think anybody who wanted rust on their hardware wouldn't care, as they quite clearly liked compiled languages.
But this is a huge draw for Forth, speaking as a Lisp user.
> Forth is the only one in which this is possible. Every other example I've seen always uses C for "low-level" access or a libraries. If you need to do that, then you won't win over embedded devs like me.
Is there any reason he would have heard of those? They're all pretty fringe, arguably moreso than Forth, for some of them.
Some of these do look neat: I've had an interest in both Ada and Oberon, although I haven't been able to get over the verbosity and unpleasant syntax of either (it's not COBOL, or anything, but it's not nice).
OTOH, I am immediately suspicious of any product that claims it's professional and also has BASIC in the name...
Ada is not fringe. It's used by many large companies, although less and less these for new projects these days. There are some huge Ada codebases being maintained in industry, particularly in the aviation industry.
You are right. I completely forgot about ADA and representative clauses. I remember reading that representative clauses mapping to register fields. And to be fair, basic and pascal also can be used for bare metal stuff.
Ada isn't a dynamic language, so it doesn't really apply here; you don't get to use it in the ways like Forth; like having a boot ROM with an Ada REPL (laugh).
Of course there are other systems programming "monolithic executable" programming languages that allow straightforward access to memory mapped hardware registers.
Some years ago when Java was relatively new, I had come across this company Esmertec, which was making Java toolchains for embedded devices. Site seems to be still there, not sure about the company:
I wrote a proprietary app in Lisp (using Clozure Common Lisp) for Windows. In the licensing code, I needed to get the list of network adapters and also the volume ID of the installation drive. It was easy to call the Win32 functions directly. Note that enumerating the adapters requires walking linked list of C structures returned by the GetAdaptersInfo function (to which you have to specify an allocated memory buffer where that list will be stored.) I did that all in Lisp; not a line of C.
Yep. If nothing else, just about all of them have the asm keyword. That's non-standard (but almost always present) in C compilers, and "conditional" in C++ (i.e. the keyword is in the standard, but the semantics are implementation-defined).
And yeah, it's a given that it's going to be non-portable.
Given asm, implementing a Turbo C-style int86() function seems pretty trivial. It might even be doable as a macro.
Not to mention that you could just use C identifiers in the asm block willy-nilly:
int foo(int c)
{
int r;
asm {
mov ax, 0x0b00
int 0x21 /* poll stdin for input */
mov ax, offset c /* get address of `c` */
call bar /* call other C function */
mov r, dx /* save the result in `r` */
}
return r;
}
Or something like that — it's been a while. Those were the days! GCC's (and I'm assuming clang's is much the same) inline assembly is a joke in comparison. I remember, when I first encountered it, flipping back-and-forth through the GCC docs looking for how people actually do inline asm with GCC...
E.g. you are highly qualified at fixing/tuning Ferraris but Toyotas are n't your thing. So you go to a Ferrari tune up shop where you can spend the $500,000 salary. /s
IMHO, Tech talent on the other hand works completely differently. They are more about talent (i.e designing stuff, critical thinking, analysis skills) rather than rolling into a specific shop to fix a specific issue.
That's where there seems to be this problem with "run a business, not a school" that they have.