In Praise of APL: A Language for Lyrical Programming (2012)
- Let me list the few I find most important: (1) to understand and to be able to compose algorithms; (2) to understand how computers are organized and constructed; (3) to develop fluency in (at least) one programming language; (4) to appreciate the inevitability of controlling complexity through the design of systems; (5) to appreciate the devotion of computer scientists to their subject and the exterior consequences (to the student as citizen) of the science’s development.
- While this is true of very large tasks, even when using APL this conscious chaining of organized reductions can be postponed until the student has already collected a large number of useful data-processing functions, engraved in his skull, with which to level mountains.
The Revival of Great SQL Ideas
- In this issue, I’d like to focus on how NoSQL systems try to achieve the consistency guarantees that SQL databases provide.
- The bottom line is that systems that try to re-implement the ideas from Google Spanner cannot give the same guarantees because Spanner uses highly precise time sources such as atomic clocks to achieve consistency.
- As the end-of-life for the releases 2008 and 2008R2 of Windows and SQL Server approaches, Microsoft offers three more years of free security patches if those systems are migrated to the Azure cloud.
- But Oracle also has a big bet running on its Java JIT implementation Graal, and the latest PostgreSQL release introduced JIT compilation into a free open-source database.
- My Article “What’s New in Oracle Database 18c” on modern-sql.com has a closer look at release 18c and reveals some interesting surprises that aren’t covered in the documentation.
36 clever gifts for college students that they'll actually want to receive — according to a recent grad
- If you're looking to make a big difference with a gift, shopping for a college student is a good place to begin.
- If there's one thing every college student needs, it's good wireless headphones.
- A backpack is the most versatile bag for a college student that's transitioning from internship or job to classes — but they probably don't want to bring their banged-up Jansport into the office.
- Beach days, tailgates, outdoor parties of any kind — grab this under-$100 Bluetooth speaker with over 3,700 five-star reviews on Amazon for the many occasions when loud music and a spill-friendly speaker are going to come in handy.
- College students like to look and feel good, but tight budgets aren't conducive to trying a lot of new, often expensive grooming products.
- I said before that college students primarily need a good pair of wireless headphones.
Two Ring Software % Blog % Fun with Unicode in Swift % 10 December 2018
- I recently saw an article suggesting that Go may get unicode identifiers in 2.0 (original proposal/discussion on GitHub).
- Swift can include Unicode in identifier names, like variables, functions or enum/protocol/value/class definitions (but importantly, not in operators).
- This gives developers the ability to write code that is internationalized, appears more mathematical or just looks like Glitchr_’s Twitter feed.
- In the spirit of the exquisite how to write unmaintainable code, let’s look at a few fun things that could be done to write unmaintainable Swift code!
- This is all fun and games, but what if we were to use Unicode in earnest and then things change, like Apple changing a deadly revolver to a harmless and fun watergun?
- Toy with some head-scratchers of your own with the Xcode Playground containing these Swift Unicode examples, and if you figure out something interesting, submit a PR!
How crowdsourcing shipping through technology will make last mile delivery cheaper
- Like Uber and other ride hailing apps, a number of crowdsourced delivery solutions have been cropping up over the past few years to ease these pains by connecting customers directly with local couriers.
- The crowdsourcing model is already popular among meal and grocery delivery and, seeing the success of startups like Uber, Airbnb, and GrubHub, e-commerce retailers are now eyeing it to fulfill their online orders.
- Launched in 2015 and piloted in Seattle, Amazon Flex lets customers order and receive packages through its on-demand delivery service, Prime Now, which guarantees free one- and two-hour deliveries.
- Deliv is a general use last mile solution offering same-day service to over 4,000 omnichannel businesses in 35 cities across the country.
- Rather than just fulfilling ad hoc deliveries for consumers, Deliv seeks to be a long-term business partner solving companies' last mile problem — evidenced by its breakdown into Deliv Small Business, Deliv Enterprise, and Deliv Fresh for groceries.
Making a full-text search module that works on both desktop and mobile (Pt. 1)
- I'm a solo developer of Inkdrop, a Markdown note-taking app for programmers which supports macOS, windows, linux, android and iOS.
- I'm currently working on rebuilding full-text search feature as I declared in our roadmap.
- To implement a full-text search feature, I would like to try using FTS of SQLite3.
- FTS is a full-text search engine for SQLite3.
- Use node-websql to have a compatibility between mobile (React Native) and desktop (Electron).
- It depends on node-sqlite3 so it works well on Electron apps.
- According to this article: Leveraging SQLite Full-Text Search on iOS | Inside PSPDFKit FTS5 is supported from iOS 11.
- However, it is missing some functionality when compared to FTS4, in that the auxiliary functions to extract information about matches aren’t as fully featured.
- Functions like matchinfo() and offsets() do not exist, and the snippet() function is not as useful as in FTS4.
C, C++, x86/x64 assembly: The case of forgotten return
- This is a bug I once hit.
- And this is also yet another demonstration, how C/C++ places return value into EAX/RAX register.
- Bugs like that are very dangerous, sometimes they appear, sometimes hide.
- It's like: https://en.wikipedia.org/wiki/Heisenbug.
- Compiler deducing that nothing returns from the function, so it optimizes it away.
- And it assumes, that is returns 0 by default.
- Of course, this code crashes.
- GCC is C++ mode silent about it as well.
- Optimizing MSVC 2015 x64 also inlines the function, as in case of x86, and the resulting code also crashes.
- When "return" statement is absent, compiler can just silently do nothing at that point.
- Such a bug left unnoticed can make an extremely bad day.
- Also, shotgun debugging is bad, because again, such a bug can left unnoticed ("everything works now, so be it").
9cc: A Small C Compiler
- We allocate memory using malloc() but never call free().
- I know that people find the policy odd, but this is actually a reasonable design choice for short-lived programs such as compilers.
- This policy greatly simplifies code and also eliminates use-after-free bugs entirely.
- I stick with plain old tools such as Make or shell script so that you don't need to learn about new stuff other than the compiler source code itself.
- We use brute force if it makes code simpler.
- Entire contents are loaded into memory at once if it makes code simpler.
- We don't use character IO to read from an input file; instead, we read an entire file to a char array in a batch.
- I hope to continue improving it to the point where 9cc can compile real-world C programs such as Linux kernel.
Remote code execution vulnerability in SQLite
- Magellan is a remote code execution vulnerability discovered by Tencent Blade Team that exists in SQLite.
- After testing Chromium was also affected by this vulnerability, Google has confirmed and fixed this vulnerability.
- Yes, we successfully exploited Google Home with this vulnerability, and we currently have no plans to disclose exploit code.
- We have reported all the details of the vulnerability to Google and they have fixed the vulnerability ( commit ).
- If your product uses SQLite, please update to 3.26.0 ( Release updates).
- Tencent Blade Team was founded by Tencent Security Platform Department, focusing in security researches of AI, Mobile Internet, IoT and other cutting-edge technologies.
- So far, Tencent Blade Team has reported more than 100 security vulnerabilities to a large number of international manufacturers, including Google, Apple, Amazon and Adobe.
- In the future, Tencent Blade Team will continue to make the Internet a safer place for everyone.
Why AWS Is Getting into the Satellite Data Business
- Companies want to make better use of satellite data, but access to enough ground stations is a big bottleneck.
- Building ground stations is expensive, and “I don’t know of too many companies who want to spend billions of dollars to do that,” Ken Lee, head of product marketing for global infrastructure and satellite at Amazon Web Services, said.
- AWS Ground Station, the new service the cloud giant announced last week at its re:Invent conference in Las Vegas, is an attempt to solve this bottleneck.
- From a business perspective, not only is this a new revenue source for AWS – the company plans to charge customers for base station access time and bandwidth consumed – it’s also another way to get customer data into its cloud, where customers can use the myriad AWS services to process it.