Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re:I'm assuming he means from an app dev's viewpoi (Score 5, Informative) 137

iOS development is free!

Without spending a single cent beyond whatever it cost to get your iOS device, you can write your own iOS apps using the same free development tools Apple uses. If you are able to connect to an iOS device via USB and you can unlock the device's Home Screen, you can install any software you want. Again, you do not need to pay anything. You can even do all this with Apple's iOS simulators for free without having a physical iOS device. The only time you need to pay Apple's $99 annual fee is right before you submit an App to the Apple's App Store. If your app is free open source, Apple may even waive the $99 fee.

I put up with Mac OS's shitty limiting nonsense getting worse user interface because I enjoy writing software for iOS so much. I also write software for Android, and I can tell you that iOS development is much easier and much more productive than writing Android software. Apple's free tools are faster and generally better than Android studio by every dimension of comparison.

With regard to learning how to program iOS, you need to start by understanding the software design patterns involved. The patterns are not optional. They are ubiquitous in iOS, and if you fail to understand any one of them, you will find software development to be confusing and error prone. Once you understand the patterns, you almost never need to consult Apple's developer documentation. You can guess method names, and you know exactly how and when to use each class.

Don't get me started on Swift UI though. I like Functional programming as much as the next person, and I understand the potential elegance of functional programming to implement user interfaces. In my opinion, Swift UI is STILL half baked, and those design patterns I mentioned do not always work well with Swift UI. My advice is to stay away from Swift UI for at least then next decade. When Apple rewrites Xcode in Swift UI, I might consider using Swift UI.

Comment Mac OS IS UNIX(tm) (Score 3) 62

Um, Mac OS? It is literally Unix. You Apple licenses the trademark. Mac OS is the mist successful Unix distribution, and it is still going strong.

There there are about 1 Billion iOS installations. iOS is compiled from teh same source code as Mac OS. I would call iOS Unix even though it doesn't claim to be Unix.

Comment Re:Apple Engineers (Score 1) 103

O, right. You mean the Lenovo laptop shipped from the factory with spyware and a bogus root certificate?

My mistake, you mean the Lenovo laptop that has to be plugged into the wall in the conference room because its battery won't last an hour.

You will not find a faster platform for compiling anything with Clang than a recent Mac. The cheapest MacBook Air will compile the Linux kernel faster than the fastet and fattest Lenovo laptop. The bottleneck is SSD speed, and Apple's built-in SSDs are 2x faster than any Lenovo sells.

As far as repairability, when was the last time you repaired a Laptop? I still use a 2012 MacBook Pro. Which landfill with the Lenovo laptop be in in five years let alone 11?

Finally, if you put Linux on a Lenovo laptop...why? MacOS is UNIX (tm).

Comment Re:Designed from the ground up for spatial computi (Score 3, Informative) 38

It is Minority Report style interface except that your arms don't get tired waving extended in front of you. You can make tiny gestures like the flick of a finger to scroll.

You get close to infinite monitors because you can look up, down and all around to see different displays every where you look. You can also enlarge displays to fill your entire vision.

I don't know if the OS will be a "success" or not. I'm not going to run out and buy one of these things. I don't dismiss the technology though. It is very impressive.

Comment Re:No humanities majors? (Score 1) 284

Computer Science jobs and current job openings are at all time highs right now. A few headline worthy layoffs at Microsoft, Amazon, Facebook, and Google do not offset the hiring everywhere else. Also, note that Apple has not announced any layoffs. In fact, Apple's return per Engineer is something in the neighborhood of $16M. Apple earns more than $16M per Engineer they employ.

Comment malloc is a library routine like any other in C (Score 2) 117

>its unique error-handling system, and its elimination of a **malloc keyword** (leaving memory allocation to the standard library).

Sigh! malloc is not a keyword in any language I know. malloc is a library routine like any other in C. malloc ends up calling mmap() or the system call, brk.

Comment Intel makes new 1.8nm chips in China!!!! (Score 0) 50

What good is an export restriction when Intel, a USA corp., is apparently leapfrogging the current chip fabrication technology - and doing it in China?

https://www.tomshardware.com/n...

Before teh USA starts strong-arming allies to restrict exports to China, the USA should get its own house in order. How many Intel executives will go to jail for violating export restrictions? The number rhymes with nero.

Comment Wake Me Up When Search Works in File Explorer (Score 5, Informative) 46

How many times has search in File Explorer not found a file you know is present? How many times has it found a file that doesn't contain any of the search terms? How many times has it searched for hours? Microsoft has never managed to get search to work. For God's sake - f-in Mac OS Finder is able to reliably search and is fast.Command line find with grep is faster on Linux and Mac than anything in Windows except maybe find and grep in GitBash.

Comment Prematurely foreclose opportunities (Score 3, Insightful) 110

Many professions that are essential for society and very lucrative require higher maths beyond factoring polynomials which almost every student should be doing at age 14. How many 14 or 16 year olds are mature and far sighted enough to foreclose future opportunities that require maths? All students should be prepared to a level that opens the greatest breadth of further opportunities. Let them decide at 18 that they would rather dig ditches than design bridges. It's premature to make those decisions at 14 or 16.

Comment Re:Developers, Developers, Developers... (Score 2) 23

- Install Xcode from the App Store.
- The first time you try ti use clang , gcc, or git, you are prompted to install command line tools. Just press the button labeled "Install".

or

- run 'xcode-select --install' on the command line.

This is something that is done once and need never be done again.

-
Microsoft and Unity3D jointly provide a C# to C++ translator, IL2CPP. Objective-C++ is still nicely supported for both Mac and iOS and will compile the code translated from C# to C++ albeit with lots of warnings.

-
Mac inability to write to NTFS out of the box is a Microsoft problem. Microsoft has not licensed Apple to use NTFS. You could of course install the same third party utilities that are used with Linux such as NTFS-3G which works on Mac and Linux.

-
Regarding the Kronos Group's Vulkan for Mac, I recommend the Kronos Group's own solution: https://github.com/KhronosGrou...

Comment Re: That's what I call BS (Score 4, Insightful) 284

And that "C" is incredibly inconsistent, not just between versions of "C" but between versions of a compiler. Basic definitions like Long Long are incompatible between different compiler versions.

ANSI/ISO C and POSIX have had "stdint.h" since 1999, and C++ has referenced it since C++11: https://en.m.wikibooks.org/wik... https://www.cplusplus.com/refe....

- int64_t
- uint64_t
- int32_t
- uint32_t
- int16_t
- uint16_t
- int8_t
- uint8_t

Comment Re:My Question is one CL answered... Re:Swift (Score 1) 98

I recommend sparse matrix or hash table based solutions for TSP style problems, but I also suggest finding solutions that do not look like TSP problems. I certainly suggest that solving TSP problems is not usually considered "systems programming".

- Linked list requires O(n) for insertion or deletion at any place other than the head unless of course you use doubly linked list in which case you are using even more memory and might as well use a binary tree. The tree at least gives you O(Log n) search as opposed to doubly linked list's O(n) search. If search is not a need, a simple stack provides identical performance to linked list without requiring storage for links. A stack may also be turned into a queue with O(1) insert and delete at both ends which now beats linked list in both memory and time complexity as a queue. One objection might be that the stack requires contiguous addresses and linked list doesn't, but remember, this is systems programming. I can make continuous virtual addresses out of any combination of physical pages...

- Singly linked list insert or delete at head: O(1)
- Singly linked list insert or delete anywhere other than head O(n)
- Singly linked list search O(n)
- Singly linked list memory O(n * m) when m is link size

- Stack push or pop O(1)
- Stack insert or delete anywhere but the top O(n)
- Stack search O(n)
- Stack memory O(n)

The stack equals singly linked list performance and uses less memory.

But, using two stacks
- Two stack queue enqueue dequeue at either end O(1)
- Two stack queue insert or delete anywhere else O(n)
- Two stack queue search O(n)
- Two stack memory O(n)

Two stack queue adds a use case that linked list cannot match.

But again, hash table is probably a better solution with
- Hash table insert or delete anywhere O(1)
- Hash table lookup O(1)
- Hash table memory ~O(n * log m) where m is bucket size or pad for efficient linear probing and still uses less memory than linked list

If you need a n order collection, nothing stops you from using ordered keys in a hash table.

Comment My Question is one CL answered... Re:Swift (Score 1) 98

Swift 5 has grown on me.

I am generally more a fan of "dynamic" languages like Python and Objective-C and even Javascript. That said, my research is all very low level systems programming where C/C++ still rule. Rust is promising, but in some respects it is a solution looking for a problem. The "safety" of Rust is destroyed when using "unsafe" constructs, and there is no way to interface to hardware without using "unsafe" constructs in Rust. I would say Rust's safety and security aspects emerge only when trying to implement constructs that should not be in a system programming context to begin with. I think the Linux kernel can benefit from Rust precisely because the Linux kernel is five times larger than is should be and includes non-system level data structures like linked lists.

As an aside, linked lists are NEVER the best choice for a data structure. They are never best in terms of memory use, and they are never best in computational complexity no matter what problem you try to solve with linked lists.

Anyway, the "functional" style of programming in Swift 5 with value semantics is nice and demonstrated well in SwiftUI. I have all kinds of objections to SwiftUI, but SwiftUI is a nice example of functional programming.

Comment Sanctions for carmakers who fail to reveal how the (Score 2) 110

The summary quotes, "Sanctions for carmakers who fail to reveal how their systems work."

The car makers do not know how the systems work. This is a serious problem with modern AI. It is impossible to explain how or why they work or why they sometimes don't work.

There is no need for a fund to enable independent truck drivers to upgrade or worry about displacing millions of truck drivers. There will be no fully autonomous road vehicles outside of highly controlled trials as long as there are human piloted vehicles on the road. It will not happen in my lifetime and probably not yours either. The press/media is just having another moral panic hysteria moment unsupported by science.

Slashdot Top Deals

Kleeneness is next to Godelness.

Working...