I have to squeeze my eyes to see the difference between ( and [ in the code examples. Everything looks like a square bracket. See the example at the bottom: https://dashdash.io/3/setbuf
This is a really cool project. I'm currently working on a tutorial on how to use it with Buildroot Linux and Tiny C Compiler, where I now have tcc in the browser. v86 is unable to debug with gdb (v8, 10.2, 11.2) (though it works if you use gdb to intercept gdbserver from another device), so I'm experimenting with strace, and have written a basic streaming parser for read/writev syscalls. What strace does is intercept printf/puts/gets/readline etc and by parsing its output, one can create a simple but highly stylable "console" in html that prints and reads text input. No support for TUI's, this is where xterm.js shines.
Compilation in tcc with a file of ~300 lines of code, linking to a library, takes roughly 50 ms. Compiling the entire libharu library takes 23 s. It's ~120.000 SLOC but where most is long arrays of encoding data.
I have used musl as toolchain, but will look into uclibc because of a weird problem: printf without \n in the end doesn't display the text before something creates a newline. And that could be readline, in which case you'd get:
Would make sense to provide it as an option, and approach candidates without side projects in a different way. I would much rather show up with code I've already written and use that as a starting point for conversation.
I'm investigating v86 [1] (x86-compatible CPU and hardware emulator in JS) to get a c compiler in the browser. There's an example with a 5.5 mb Build Root Linux example [2] where you can pass files and commands between the browser and vm. The vm boots within a few seconds in Firefox on my Pixel 2 XL. There's also an example where Lua code is passed from the host, but you have to download the GitHub repo to see it [3]
It likely isn't suited for compiling big c programs, but I think one can get far with preparing a few shared libraries and Tiny C Compiler or similar.
Re: Twilio, just created an account a few days ago. Super simple API, and had receiving texts and robocalling myself with their content running within an hour or so. You don't have to store texts on your own, query Twilio's logs and they're all there.
I go to a chiropractor. They do wonders! Perhaps I had to go there a few times in the start, but now I go there probably every second or third month, and it immediately releases whatever pain there is in my neck.
I've been annoyed by my own legacy code long enough to try really hard to make sure the features being asked for are REALLY needed, simplifying things as much as possible before going into code. That's usually where most of the code is removed - sometimes all of it.
I think the flamewar algo is preventing me from replying to your message xg15, but yes, it totally makes sense to have a global error handler on threads. I think that though the original article sounds like it is never okay, I don't imagine the author is against corner cases such as global error handlers in web frameworks, threads, browsers and so on. I just wish developers would refraign from writing try catch 80% of the time, because it pretty much always boils down to only a logging call and perhaps a generic error response that the framework would take care of anyway (at least in ASP.NET).
That code is never acceptable. Don't catch all exceptions just to log and continue. That's like Visual Basic's On Error Resume Next sprinkled with logging! Now, you could instead catch a specific exception, a caught exception, log it, and write a very detailed comment on why you're only logging and not rethrowing, so the reviewer doesn't have to ask.
Excellent article! Something I've been wanting to write myself for years. Love the first example: try ... catch(ex), log(ex). I've seen numerous developers do this and it's always unnecessary unless you can't catch exceptions globally. Just log all uncaught exceptions in something like Sentry, or a file for that matter, via a global exception handler. It's not about eliminating all possible exceptions, it's to avoid writing a bunch of boilerplate, since every line of code could potentially fail at some point. In the rare cases where some additional context is needed besides what is always added such as the current user, then of course, log away, but write a long comment about why the exception is caught just to be logged.
Completely agree. Ubuntu 20.04 with a 5k monitor (Dell UP2715K)? The result: Burn in that lasts for an hour and graphics completely messed up. After a few days the monitor broke. Are 100% scaling too small for your new 4k monitor? Well if you think 200% is too much, you'll have to switch to fractional scaling, where things get blurry. Don't know about macOS, but Windows have no trouble scaling things nicely to 150% for instance.
In Windows there are no monitor issues and it's super easy to set up my PlayStation 3 controller for games (that are also nicely supported). Overall there's just less configuration in Windows.
Instead I run Linux in VMware, which comes with its own perks: By creating a virtual machine per project, everything is neatly grouped in its own workspace, and by suspending instead of shutting down when done, I can get back to where I left off as easy as loading it's previous state from disk, with everything open - unsaved documents, applications, browser tabs, etc. I get the best of both worlds this way.
My UP2715K broke recently, and I thought, well, 4k can't be that bad, there's almost no 5k monitors so perhaps the difference isn't that big of a deal. So I bought Dell's UP2720Q. Brilliant colors, can't complain at all on that point, but text is noticably blurry compared to what I'm used to. This is such a bummer
Doesn't fit the part about licenses that restrict what you can do with your code:
"Qt for Application Development is dual-licensed under commercial and open source licenses. The commercial Qt license gives you the full rights to create and distribute software on your own terms without any open source license obligations." https://www.qt.io/licensing/
Please suggest a cross platform framework that doesn't come with accessibility issues, that also allows you to create as rich ui's like what you can do in a browser, and without various licenses that restrict what you can do with your code? Something that supports Android, iOS, Linux, Windows and MacOS.
The performance hit can be quite big. I had a query that went from 1s to 400ms by disabling RLS. The security policy was a simple where org = abc. When I encounter performance hits like these, I refactor the slow query into a function with SECURITY DEFINER and a huge warning that you're on your own regarding security. Besides that, it's nice not having to worry if your SQL is accessing stuff the current role isn't allowed to see.
Off topic, but for the ultimate dark patterns experience, try clicking manage cookies. Hard to see if you're enabling or disabling something, and you "object" to things that you want to disable (I think!). Did not expect this level of deceptive design from CNN.
Making procrastination unpleasant seems like a good idea. Ideally the result would be more time spent on being social with coworkers, or even get out of the office and participate in local events. Doesn't necessarily increase productivity, heck, it could even decrease, but one might just end up being happier either way.
If the pay is good, demand is high and all you need is to go on a two month course, I'd bet a lot of unemployed people would be eager to do that. The "shortage" is indeed because of Brexit, but paying a thousand dollars an hour will most certainly magically summon workers en mass in a few months.